我有一个带有球衣2.17的DropWizard项目,带有一个简单的表单提交端点:
@Path("forms/{form_id}")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@ApiOperation(value = "Submit a form", response = SubmittedForm.class)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Valid request - form submitted", response = SubmittedForm.class)
})
public Response submitForm(@PathParam("form_id") String formId, MultivaluedMap<String, String> parameters) {
...
}
我使用Swagger(swagger-jersey2-jaxrs 1.5.4)来记录我的API。但是,对于此端点,没有为表单参数生成文档。如果我将MultivaluedMap<String, String>
更改为MultivaluedStringMap
,则会生成doc但它会被识别为body参数。
我不能将@PathParam
用于表单参数,因为此端点将支持多个表单定义,因此密钥未知。
有没有办法使用Swagger正确记录表单提交端点(使用url-encoded params)?