Как указано в заголовке, моя конфигурация подключаемого модуля swagger maven, похоже, пропускает параметры, помеченные @ BeanParam.
Я настроил свой код так же, как в примере на github (показано в ссылках ниже), поэтому я не знаю, что было бы неправильно.
Позвоните в основной класс
Пример MyBean
Вот моя текущая конфигурация
Мои входные файлы
//MyInterface.java
@Api(value = "myInterface")
public interface MyInterface {
@Path("/.../{bar}/.../{baz}")
Response foo(@BeanParam MyBean myBean);
}
//MyBean.java
public class MyBean {
@PathParam("bar")
private Long bar;
@PathParam("baz")
private Long baz;
//getters and setters
}
<!-- pom.xml -->
<plugin>
<groupId>com.github.kongchen</groupId>
<artifactId>swagger-maven-plugin</artifactId>
<version>3.1.8</version>
<executions>
<execution>
<id>ID</id>
<phase>compile</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<apiSources>
<apiSource>
<springmvc>false</springmvc>
<locations>
<location>package.of.MyInterface</location>
<location>package.of.MyBean</location>
</locations>
<schemes>
<scheme>https</scheme>
</schemes>
<host>${swagger.ui.host}</host>
<basePath>/api</basePath>
<info>
<title>Title</title>
<version>1.0.0</version>
<description>Desc</description>
</info>
<outputFormats>yaml</outputFormats>
<swaggerFileName>${project.name}-external</swaggerFileName>
<swaggerDirectory>${project.build.directory}/swagger</swaggerDirectory>
</apiSource>
</apiSources>
</configuration>
</execution>
</executions>
</plugin>
Мой выходной файл Swagger
---
swagger: "2.0"
#...
paths:
/.../{bar}/.../{baz}:
put:
operationId: "foo"
parameters: []
Что заставляет массив параметров в выводе оставаться пустым? Все мои методы без аннотаций работают нормально.