Spring Boot – Как регистрировать все запросы и ответы с исключениями в одном месте?JAVA

Программисты JAVA общаются здесь
Anonymous
Spring Boot – Как регистрировать все запросы и ответы с исключениями в одном месте?

Сообщение Anonymous »

Я работаю над REST API с весенней загрузкой. Мне нужно регистрировать все запросы с входными параметрами (с методами, например, GET, POST и т. д.), путем запроса, строкой запроса, соответствующим методом класса этого запроса, а также ответом на это действие, как успехом, так и ошибкой. Например:
Успешный запрос:

Код: Выделить всё

http://example.com/api/users/1
Журнал должен выглядеть примерно так:

Код: Выделить всё

{
HttpStatus: 200,
path: "api/users/1",
method: "GET",
clientIp: "0.0.0.0",
accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg",
method: "UsersController.getUser",
arguments: {
id: 1
},
response: {
user: {
id: 1,
username: "user123",
email: "user123@example.com"
}
},
exceptions: []
}
Или запрос с ошибкой:

Код: Выделить всё

http://example.com/api/users/9999
Журнал должен выглядеть примерно так:

Код: Выделить всё

{
HttpStatus: 404,
errorCode: 101,
path: "api/users/9999",
method: "GET",
clientIp: "0.0.0.0",
accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg",
method: "UsersController.getUser",
arguments: {
id: 9999
},
returns: {
},
exceptions: [
{
exception: "UserNotFoundException",
message: "User with id 9999 not found",
exceptionId: "adhaskldjaso98d7324kjh989",
stacktrace: ...................
]
}
Я хочу, чтобы запрос/ответ представлял собой единый объект с пользовательской информацией, связанной с этим объектом, как в случае успешного, так и в случае ошибки.
Что такое лучший способ добиться этого весной, может быть, с фильтрами? если да, можете ли вы привести конкретный пример?
Я играл с @ControllerAdvice и @ExceptionHandler, но, как я уже говорил, мне нужно обрабатывать все успехи и запросы ошибок в одном месте (и в одном журнале).

Подробнее здесь: https://stackoverflow.com/questions/337 ... -single-pl

Вернуться в «JAVA»