Open
Description
Not sure if this is intended behavior, but when I don't specify a description for a response field, the output snippet resource.json outputs "description": null, which causes the openapi3 gradle task to fail.
Example:
The controller returns an array of objects.
[
{
"example": "blah"
}
]
resources.json shows a null value for description
"responseFields" : [ {
"attributes" : { },
"description" : null,
"ignored" : false,
"path" : "[].example",
"type" : "STRING",
"optional" : false
},
Test uses Spring @WebMvcTest and MockMvc with MockMvcRestDocumentationWrapper
this.mockMvc.perform(get("/example"))
.andExpect(status().isOk())
.andDo(document("example", resource(ResourceSnippetParameters.builder()
.responseFields(
fieldWithPath("[].example").type(JsonFieldType.STRING)
)
.build()
)));
Error:
Execution failed for task ':example:openapi3'.
> com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException: Instantiation of [simple type, class com.epages.restdocs.apispec.model.FieldDescriptor] value failed for JSON property description due to missing (therefore NULL) value for creator parameter description which is a non-nullable type
...
com.epages.restdocs.apispec.model.ResourceModel["response"]->com.epages.restdocs.apispec.model.ResponseModel["responseFields"]->java.util.ArrayList[0]->com.epages.restdocs.apispec.model.FieldDescriptor["description"])
If I add any description to the FieldDescriptor, the task succeeds.