我正在开发一个 springboot 项目,我需要拦截传出的 http 请求并对其进行处理。我知道我们可以使用 ClientHttpRequestInterceptor 来做同样的事情,它也可以正常工作。
但我需要知道在 http POST/PUT 请求中发送的请求体的java 类类型。目前这个拦截器只提供请求对象的字节数组表示。文档在这里
有什么方法可以了解请求对象/主体的 java 类类型吗?或者除了使用 ClientHttpRequestInterceptor 之外,还有其他更好的方法吗?
更新的代码示例:
public class MyInterceptor implements ClientHttpRequestInterceptor {
@Override
public ClientHttpResponse intercept(HttpRequest request,
byte[] body,
ClientHttpRequestExecution execution)
throws IOException {
// Do something before service invocation
// I need to get request body's class type but it is just a byte[] here. And the 'HttpRequest' argument doesn't carry any info related to request class type.
ClientHttpResponse clientHttpResponse = execution.execute(request, body);
// Do something after service invocation
}
}