Как и где использовать 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))
Другие вопросы по тегам