Мое определение API выглядит следующим образом:
/api:
get:
...
parameters:
- name: "tags"
in: "query"
description: "some description"
required: false
schema:
type: "array"
items:
type: "string"
....
Мы используем openapi-generator-maven-plugin:3.3.5
для генерации кода.
Создаваемый параметр API: @ApiParam(value = "description", defaultValue = "new ArrayList<>()")
Фактический параметр, который получает контроллер, не является пустым и содержит литерал new ArrayList<>()
в качестве первого элемента:
String first = tags.get(0);
assert "new ArrayList<>()".equals(first) //true
Я не смог найти никакого значения параметра, которое контролирует это поведение (например, defaultValue). Как я могу сделать параметр равным нулю или, по крайней мере, пустым списком?
используя sagger в приложении загрузки Spring:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${io.springfox.swagger.version}</version>
</dependency>
openapitools параметры конфигурации генератора
<configOptions>
<dateLibrary>java8</dateLibrary>
<serializationLibrary>jackson</serializationLibrary>
<interfaceOnly>true</interfaceOnly>
<delegatePattern>true</delegatePattern>
<useTags>true</useTags>
</configOptions>