我正在将一个多部分表单发布到Spring Boot应用程序。
E.g。
@PostMapping(value = "/foo", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void postFooAsMultiPart(@RequestBody Foo foo) {
...
}
Spring在将多部分请求编组到对象(StandardServletMultipartResolver
)方面做得非常好。
我使用Swagger(Springfox)呈现端点。依赖关系:
但是,它将整个身体渲染为单个字段:
http://localhost:8080/v2/api-docs
...
"parameters": [
{
"in": "body",
"name": "foo",
"description": "foo",
"required": true,
"schema": {
"$ref": "#/definitions/Foo"
}
}
],
...
我的问题是:是否可以让Swagger将每个Foo的属性渲染为单独的参数?
注意:作为一种解决方法,我使用@ApiImplicitParams
来指定控制器级别的所有Foo属性。但是我认为这更像是一种解决方法,而不是正确的解决方案。
修改 我花了一些时间来关注代码,我很确定当前版本无法做到这一点。我在GitHub仓库上打开了an issue,建议进行更改。我将根据结果更新/回答这个问题。
答案 0 :(得分:0)
是的。这是一个错误。现在已修复(在2.9.1中)。