Как я могу отобразить описание кода ошибки в разделе пример кода?

#openapi #springdoc #redoc

#openapi #springdoc #переделать

Вопрос:

У меня есть описание кода ошибки, отображаемое в основном разделе: изображение

Но я хотел бы также отобразить описание этого кода в разделе пример здесь:

изображение

Я видел некоторые документы API, которые могут генерировать эти описания в разделе пример:

изображение

Как я могу это сделать?

PS: Обратите внимание, что я предоставляю спецификации open API с помощью springdoc.

Комментарии:

1. Вы пробовали приведенный ниже ответ?

2. К сожалению, это не то, что я хочу, и это не сработало. возможно, потому, что я использую redoc.

Ответ №1:

Один из способов сделать это — вы можете определить строку в качестве примера в @ApiResponse

Вы можете достичь этого двумя способами

1. Определите свой класс формата сообщения об ошибке или вы можете использовать встроенное, если таковое имеется

 public class ExceptionResponse {

    private Instant time;
    private int status;
    private String error;
    private String exception;
    private String message;
}
  

Затем определите свою пользовательскую строку сообщения, как показано ниже.

 public static final String exampleInternalError = "{rn"   "  "status": 500,rn"   ""error": Bad Request,rn"
              "  "message": "Your custome message goes here"rn"   "}";
  

то же самое используется для показа примера в виде

 @ApiResponse(responseCode = "400", description = "Bad Request", 
                  content = @Content(schema = @Schema(implementation = ExceptionResponse .class), 
                        examples = @ExampleObject(description = "Bad Request", value = exampleInternalError)))
  

Это будет отображаться в swagger как
введите описание изображения здесь

2. Если вы не хотите использовать в вышеуказанном формате, вы можете просто использовать

как упомянуто ниже

 @ApiResponse(responseCode = "400", description = "Bad Request", 
content = @Content(schema = @Schema(implementation = String.class), 
              examples = @ExampleObject(description = "Bad Request", value = ""Your details about error code and error message goes here")))
  

Это будет отображаться в swagger как
введите описание изображения здесь