Как и где использовать failOnUndocumentedParams в Spring Auto REST Docs?
Я работаю с Spring Auto REST Docs и хочу знать, как использовать failOnUndocumentedParams и как его использовать. Я хочу, чтобы документация не генерировалась, если я пропустил поле из POJO. Я считаю, что с помощью failOnUndocumentedParams мое решение. Однако я не знаю, как и где его использовать.
@Before
public void setUp() throws IOException {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext)
.alwaysDo(JacksonResultHandlers.prepareJackson(objectMapper))
.alwaysDo(MockMvcRestDocumentation.document("{class-name}/{method-name}",
Preprocessors.preprocessRequest(),
Preprocessors.preprocessResponse(
ResponseModifyingPreprocessors.replaceBinaryContent(),
ResponseModifyingPreprocessors.limitJsonArrayLength(objectMapper),
Preprocessors.prettyPrint())))
.apply(MockMvcRestDocumentation.documentationConfiguration(this.restDocumentation)
.uris()
.withScheme("http")
.withHost("localhost")
.withPort(8080)
.and().snippets()
.withDefaults(CliDocumentation.curlRequest(),
HttpDocumentation.httpRequest(),
HttpDocumentation.httpResponse(),
AutoDocumentation.requestFields(),
AutoDocumentation.responseFields(),
AutoDocumentation.pathParameters(),
AutoDocumentation.requestParameters(),
AutoDocumentation.description(),
AutoDocumentation.methodAndPath(),
AutoDocumentation.section()))
.build();
}
Вот как выглядит мой mockMvc.
1 ответ
Решение
Вы можете настроить эту функцию при создании фрагментов поля запроса или ответа. В вашем случае вы хотите включить функцию для всех тестов и, следовательно, при настройке Mock MVC:
.withDefaults(
...
AutoDocumentation.requestFields().failOnUndocumentedFields(true),
AutoDocumentation.responseFields().failOnUndocumentedFields(true),
...)
В качестве альтернативы можно включить функцию для одного теста:
document("some-path",
AutoDocumentation.requestFields().failOnUndocumentedFields(true),
AutoDocumentation.responseFields().failOnUndocumentedFields(true))