Я использую spring boot 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", ...... )));




Вам нужен пользователь 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
ответ правильный, конкретно в вашем случае это будет следующим образом:
requestFields( fieldWithPath("name").description("some_text").type(String.class.getSimpleName()), fieldWithPath("description").description("some_text").type(String.class.getSimpleName()) )