Как использовать Spring Restdocs для документирования тела запроса, который содержит объект JSON - PullRequest
0 голосов
/ 21 декабря 2018

Я использую весеннюю загрузку 2 для реализации службы REST API и хотел бы задокументировать ее с помощью restdocs.

Конечная точка

POST /api/tags

с телом запроса

{"name":"Some Tag", "description":"This is Some Tag"}

используется для добавления создания нового тега.Я просмотрел документацию restdocs, но все еще не могу найти способ документировать поля JSON тела запроса. Может ли кто-нибудь помочь мне заполнить недостающую часть "......".

TagRequest request = new TagRequest();
request.setName("Some Tag");
request.setDescription("This is Some Tag");
client.post().uri("/api/tags").body(BodyInserters.fromObject(request)).exchange()
        .expectStatus().isOk().expectBody(Integer.class)
        .consumeWith(document("add-tag", ...... )));

1 Ответ

0 голосов
/ 18 января 2019

Вам нужен пользователь requestFields

client
                .post().uri("/api/tags")
                .body(BodyInserters.fromObject(request))
                .exchange()
                .expectStatus().isOk()
                .expectBody(Integer.class)
                .consumeWith(
                        document("add-tag",
                                requestFields(
                                        fieldWithPath("name").description("...."),
                                        fieldWithPath("name").description("....")
                                )
                        )
                );

Это задокументировано в официальном документе: https://docs.spring.io/spring-restdocs/docs/current/reference/html5/#documenting-your-api-request-response-payloads

...