Как скрыть конечные точки из документации OpenAPI с помощью Springdoc - PullRequest
1 голос
/ 30 мая 2020

Springdo c автоматически генерирует документацию API для всех методов обработчика. Даже если нет аннотаций OpenAPI.

Как мне скрыть конечные точки из документации API?

Ответы [ 2 ]

3 голосов
/ 30 мая 2020

Аннотация @io.swagger.v3.oas.annotations.Hidden может использоваться на уровне метода или класса контроллера, чтобы скрыть одну или все конечные точки.

(См .: https://springdoc.org/faq.html#how -can-i-hide-an -operation-or-a-controller-from-documentation )

Пример:

@Hidden // Hide all endpoints
@RestController
@RequestMapping(path = "/test")
public class TestController {

    private String test = "Test";

    @Operation(summary = "Get test string", description = "Returns a test string", tags = { "test" })
    @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Success" ) })
    @GetMapping(value = "", produces = MediaType.TEXT_PLAIN_VALUE)
    public @ResponseBody String getTest() {
        return test;
    }

    @Hidden // Hide this endpoint
    @PutMapping(value = "", consumes = MediaType.TEXT_PLAIN_VALUE)
    @ResponseStatus(HttpStatus.OK)
    public void setTest(@RequestBody String test) {
        this.test = test;
    }

}

Изменить:

Также возможно для создания документации API только для контроллеров определенных пакетов c.

Добавьте следующее в свой application.properties файл:

springdoc.packagesToScan=package1, package2

(См.: https://springdoc.org/faq.html#how -can -i-явно-установить-какие-пакеты-сканировать )

0 голосов
/ 31 мая 2020

Если вы работаете с Swagger Api и хотите скрыть указанную c конечную точку, используйте @ApiOperation(value = "Get Building",hidden=true) на этой конечной точке ... атрибут hidden должен быть истинным.

@RestController
@Api(tags="Building")
@RequestMapping(value="/v2/buildings")
public class BuildingsController {

    @ApiOperation(value = "Get Building",hidden=true)
    @GetMapping(value = "/{reference}")
    public Account getBuildings(@PathVariable String reference) {
        ....
    }
...