Spring + Swagger: многочастная форма - PullRequest
0 голосов
/ 04 мая 2018

Я публикую многочастную форму в приложении 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, в котором предлагалось внести изменения. Я буду обновлять / отвечать на этот вопрос в зависимости от результата.

1 Ответ

0 голосов
/ 23 июня 2018

Да. Это была ошибка. Исправлено сейчас (в 2.9.1).

...