Как я могу задокументировать объекты, на которые я не владею? - PullRequest
3 голосов
/ 03 августа 2020

Я возвращаю Page<SomeObject> в конечных точках моего метода. В моем пользовательском интерфейсе OpenAPI, как я могу создать описание полей, которые поступают из типа org.springframework.data.domain.Page. Обычно я делаю go объекту, который хочу задокументировать, и аннотирую его поля с помощью @Schema(description = "some description"). Но у меня нет доступа к классу Page. Как я могу документировать его поля?

Вероятно, мне здесь не хватает чего-то простого, но любая помощь будет принята с благодарностью.

PS: Я использую OpenAPI v3 и springdo c

1 Ответ

1 голос
/ 09 августа 2020

Вы можете использовать OpenApiCustomiser.

Допустим, у вас есть этот контроллер:

@ RestController publi c class HelloController {

@GetMapping("/hello")
Page<PersonDTO> getPage() {
    return null;
}

}

Предположим, вы хотите добавить описание элемента Pageable:

@Bean
public OpenApiCustomiser pageableOpenApiCustomiser() {
    return openApi -> {
        Schema pageableSchema = openApi.getComponents().getSchemas().get("Pageable");
        pageableSchema.setDescription("my description");
    };
}

То же logi c применяется для любого другого атрибута, который вы настроили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...