Spring Boot+Jersey+JaxRs アプリケーションを Swagger 用に構成するための例はありますか?
この投稿を参照すると、アプリに以下のコードがあり、swagger UI を表示できず、使用してリソースを一覧表示することもできません
http://localhost:8080/api/root/{funcId}/entities
.
ApplicationInitializer クラス: (Groovy)
@Configuration
@EnableAutoConfiguration
class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run( Application.class, args)
}
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources( Application, "classpath:/META-INF/com/company/automation/functionality/bootstrap.xml");
}
@Bean
ServletRegistrationBean jerseyServlet() {
ServletRegistrationBean registration = new ServletRegistrationBean(new SpringServlet());
Map params = ["com.sun.jersey.config.property.packages":"com.company.automation.functionality.impl;com.wordnik.swagger.jersey.listing"]
registration.setInitParameters(params)
return registration;
}
@Bean
ServletRegistrationBean jerseyJaxrsConfig() {
ServletRegistrationBean registration = new ServletRegistrationBean(new JerseyJaxrsConfig());
Map params = ["swagger.api.basepath":"http://localhost:8080/api", "api.version":"1.0"]
registration.setInitParameters(params)
return registration;
}
}
リソース:
@Component
@Path('root/{funcId}/entities')
@Api (value = "root/{funcId}/entities", description = "Operations about entity Details")
@CompileStatic
class EntityDetailsResource {
..
}
[編集]。私はJersey 1.16を使用していますが、アプリケーションへの影響によりJersey 2を使用できません