Я пытаюсь зарегистрировать детали запроса стороннего API и смог записать URL, тело запроса и ответа.
Вот мой пример метода симуляции клиента:
@GetMapping(value = "/{name}")
Customer getDetails(@PathVariable(name = "name") List<String> name);
Вот метод, в котором я перехватил ответ в симуляции и смог записать URL, запрос и ответ.
public class FeignResponseDelegate extends Default {
@Override
public Response execute(Request request, Request.Options options) throws IOException {
Response response = super.execute(request, options);
Request.Body requestBody = request.requestBody();
InputStream responseBodyInputStream = response.body().asInputStream();
byte[] bytes = IOUtils.toByteArray(responseBodyInputStream);
logger.debug("Request URL {}", request.url());
logger.debug("Request Request body {}", requestBody.length() > 0 ? requestBody.asString() : null);
logger.debug("Response Body {}", IOUtils.toString(responseBodyInputStream));
// logger.debug("Path Variables: {}".....
// how to log the path variables?
return response.toBuilder()
.body(bytes)
.build();
}
}