restdocs-api-spec
restdocs-api-spec copied to clipboard
ResourceSnippet does not support PayloadSubsectionExtractor
Hello,
When migrating from vanilla Spring REST Doc to this plugin, we encountered a problem with PayloadSubsectionExtractor. It is not used at all. Here is our exemple:
document("example",
RequestDocumentation.pathParameters(
DocumentationHelper.tokenIdPathParameterDescriptor()
),
PayloadDocumentation.requestFields(
DocumentationHelper.keyAttributesFieldDescriptor()
),
PayloadDocumentation.relaxedResponseFields(
PayloadDocumentation.beneathPath("[]"),
DocumentationHelper.keyTypeFieldDescriptor(),
DocumentationHelper.keyIdFieldDescriptor(),
DocumentationHelper.keySizeFieldDescriptor("size"),
DocumentationHelper.curveOIDFieldDescriptor().type(String.class).optional(),
DocumentationHelper.publicKeyFieldDescriptor(),
DocumentationHelper.privateKeyFieldDescriptor()
),
PayloadDocumentation.responseFields(
PayloadDocumentation.beneathPath("[].privateKey"),
DocumentationHelper.keyUsagesFieldDescriptor(),
DocumentationHelper.keyAttributesFieldDescriptor()
),
PayloadDocumentation.responseFields(
PayloadDocumentation.beneathPath("[].publicKey"),
DocumentationHelper.rsaPublicKeyDetailsFieldDescriptors()
)
)
The PayloadDocumentation.beneathPath("[]") is not used at all, which result in multiple errors with fields not found.
We have seen in the documentation that it would be possible to use subsectionWithPath or fieldWithPath but since MockMvcRestDocumentationWrapper is described to be a drop-in replacement, we do not want to go this route.
Hey @ozscheyge would you be able to review a PR to address this so that beneathPath() gets treated as expected?