Как сделать ссылку на файлы в SpringDo c OpenAPI3? - PullRequest
1 голос
/ 17 марта 2020

У меня есть проект Springboot, в котором я хочу задокументировать мой API:

Вот пример веб-сервиса, над которым я работаю:

    @ApiResponses(
        value = {
                @ApiResponse(responseCode = "200", content =  @Content(
                        mediaType = "*/*",
                        schema = @Schema(implementation = Object.class),
                        examples = {
                                @ExampleObject(name = "boo",
                                summary = "example of boo",
                                ref = "#/swagger/Planner/semi_planif_200_response.json")
                        }

                ))
        }
)
@PostMapping(value = "/startSemiPlanification", produces = "application/json")
private ResponseEntity<Object> startSemiPlanner( @RequestBody PlanificationDto planificationData,
                                                @RequestParam(name = "groupByUserCode", required = false) Optional<Boolean> groupByUserCode,
                                            @RequestParam(name = "range", defaultValue = "18") Integer range

Моя проблема в том, что Swagger не может разрешить эту ссылку ref = "# / swagger / Planner / semi_planif_200_response. json" Я даже пытался с абсолютным путем, и он не работал: The Error Message from swagger

Вот путь к файлам:

File path

1 Ответ

1 голос
/ 20 марта 2020

Ссылки не разрешаются во время компиляции, вместо этого после запуска проекта механизм swagger разрешит ссылки, поскольку они были c ресурсами на сервере:

 $ref= resources/swagger/user.json 

, если мы запускаем наш экземпляр в Затем localhost ресурс будет выбран из этого URL: localhost:8080/resources/swagger/user.json

Совет : убедитесь, что обработчик ресурсов Spring размещает целевые ресурсы в указанном месте!

...