HTTP 交换 (httpexchanges)

httpexchanges 端点提供有关 HTTP 请求-响应交换的信息。

检索 HTTP 交换

要检索 HTTP 交换,请发送 GET 请求到 /actuator/httpexchanges,如下基于 curl 的示例所示:

curl 'http://localhost:8080/actuator/httpexchanges' -i -X GET

得到的响应类似于以下内容:

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 511

{
  "exchanges" : [ {
    "timestamp" : "2022-12-22T13:43:41Z",
    "request" : {
      "uri" : "https://api.example.com",
      "method" : "GET",
      "headers" : {
        "Accept" : [ "application/json" ]
      }
    },
    "response" : {
      "status" : 200,
      "headers" : {
        "Content-Type" : [ "application/json" ]
      }
    },
    "principal" : {
      "name" : "alice"
    },
    "session" : {
      "id" : "a3d738d9-8575-4217-b121-0b2273306f0a"
    },
    "timeTaken" : "PT0.023S"
  } ]
}

响应结构

响应包含被追踪的 HTTP 请求-响应交换的详细信息。下表描述了响应的结构:

路径

类型

描述

exchanges

Array

一个 HTTP 请求-响应交换的数组。

exchanges.[].timestamp

String

交换发生的时间戳。

exchanges.[].principal

Object

交换的主体(如果有)。

exchanges.[].principal.name

String

主体的名称。

exchanges.[].request.method

String

请求的 HTTP 方法。

exchanges.[].request.remoteAddress

String

接收到请求的远程地址(如果已知)。

exchanges.[].request.uri

String

请求的 URI。

exchanges.[].request.headers

Object

请求的头信息,以头名称为键。

exchanges.[].request.headers.*.[]

Array

头的值。

exchanges.[].response.status

Number

响应的状态。

exchanges.[].response.headers

Object

响应的头信息,以头名称为键。

exchanges.[].response.headers.*.[]

Array

头的值。

exchanges.[].session

Object

与交换相关的会话(如果有)。

exchanges.[].session.id

String

会话的 ID。

exchanges.[].timeTaken

String

处理交换所花费的时间。