Я публикую многочастную форму в приложении Spring Boot.
* 1003 Е.Г. *
@PostMapping(value = "/foo", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void postFooAsMultiPart(@RequestBody Foo foo) {
...
}
Spring отлично справляется с распределением многокомпонентного запроса к объекту (StandardServletMultipartResolver
).
Я представляю конечную точку, используя Swagger (Springfox). Зависимости:
- io.springfox: springfox-swagger2: 2.8.0
- io.springfox: springfox-чванство-УИ: 2.8.0
Тем не менее, он отображает все тело как одно поле:
http://localhost:8080/v2/api-docs
...
"parameters": [
{
"in": "body",
"name": "foo",
"description": "foo",
"required": true,
"schema": {
"$ref": "#/definitions/Foo"
}
}
],
...
Мой вопрос: возможно ли заставить Swagger отображать каждый из атрибутов Foo как отдельные параметры?
Примечание. В качестве обходного пути я использовал @ApiImplicitParams
, чтобы указать все атрибуты Foo на уровне контроллера. Однако я считаю, что это скорее обходной путь, чем правильное решение.
Редактировать
Я потратил немного времени на следование коду, и я почти уверен, что это невозможно сделать с текущей версией. Я открыл выпуск в репозитории GitHub, в котором предлагалось внести изменения. Я буду обновлять / отвечать на этот вопрос в зависимости от результата.