Примеры Swagger не отображаются в пользовательском интерфейсе - PullRequest
0 голосов
/ 16 июня 2020

Невозможно получить примеры значений полей в пользовательском интерфейсе swagger.

@ApiOperation(value = "Sample API to test swagger doc", response = SampleResponse.class)
    @ApiImplicitParams({
            @ApiImplicitParam(
                    name = "sampleResponse",
                    dataType = "SampleResponse",
                    examples = @io.swagger.annotations.Example(
                            value = {
                                    @ExampleProperty(value = "{'code': '123', 'msg':'message'}", mediaType = "application/json")
                            }))
    })
    @ApiResponses(value = {
            @ApiResponse(code = 200, response = SampleResponse.class, message = "Success", examples = @io.swagger.annotations.Example(
                    value = {
                            @ExampleProperty(value = "{'code': '123', 'message':'success'}", mediaType = "*/*")
                    })),
            @ApiResponse(code = 401, message = "UnAuthorized"),
            @ApiResponse(code = 400, message = "Invalid ID supplied", response = ApiResponse.class,
                    examples = @Example(value =
                            {
                                    @ExampleProperty(mediaType = "application/json", value = "{\"code\" : \"42\", \"message\" : \"Invalid ID supplied\"}")
                            }
                    ))
    })
    @PosMapping(value = "/test", produces = MediaType.APPLICATION_JSON_VALUE)
    public SampleResponse get(@ApiParam(required = true) @RequestBody SampleResponse sampleResponse) {

pom. xml

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

Пример, определенный с помощью аннотации @ExampleProperty, отсутствует в пользовательском интерфейсе. На изображении ниже swagger UI примеры полей показаны со значением в качестве типа данных по умолчанию. enter image description here

1 Ответ

0 голосов
/ 18 июня 2020

Это была ошибка в swagger2, много не нашлось, обновлено до openapi, где этого можно достичь, используя @io.swagger.v3.oas.annotations.parameters.RequestBody для определения тела запроса и его примеров и @io.swagger.v3.oas.annotations.responses.ApiResponse для ответа.

...