Ответ сервера приложения SpringBoot по умолчанию в случае необработанных ошибок:
{
"timestamp": 1594232435849,
"path": "/my/path",
"status": 500,
"error": "Internal Server Error",
"message": "this request is failed because of ...",
"requestId": "ba5058f3-4"
}
Я хочу описать его в аннотации Springdo c для маршрутов приложения.
Предполагая, что существует стандартный класс DefaultErrorResponse
(просто фиктивное имя), он может выглядеть следующим образом:
@Operation(
// ... other details
responses = {
// ... other possible responses
@ApiResponse(
responseCode = "500",
content = @Content(schema = @Schema(implementation = DefaultErrorResponse.class)))
}
)
В худшем случае такой класс не существует, а Spring использует только Map
под капотом для создания этого ответа. Тогда эта аннотация будет более подробной, включая явное упоминание каждого поля, содержащегося в ответе.
Очевидно, что для большинства маршрутов эта часть @ApiResponse(responseCode="500",...
одинакова, и было бы неплохо уменьшить дублирование.
Как правильно ввести описание ответа об ошибке по умолчанию в документации?