我有一个 jax-rs spring rest web 应用程序,我想在其中添加 swagger doc。
在我的 web.xml 中,这已经为我现有的 REST API 定义了:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>com.bloom.rest.jaxrs.JaxrsApplication</servlet-name>
<!-- Force immediate loading -->
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>com.bloom.rest.jaxrs.JaxrsApplication</servlet-name>
<url-pattern>/v1/*</url-pattern>
</servlet-mapping>
我在我的 servlet 中添加了 Swagger 配置:JaxrsApplication
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8080");
beanConfig.setBasePath("/v1");
beanConfig.setResourcePackage("com.bloom.rest.endpoints");
beanConfig.setScan(true);
我还在上下文 xml 文件中添加了 swagger beans:
<bean id="apiListingResource" class="io.swagger.jaxrs.listing.ApiListingResource" />
<bean id="swaggerSerializers" class="io.swagger.jaxrs.listing.SwaggerSerializers"
scope="singleton" />
似乎我的资源扫描工作正常:
INFO AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
INFO JestClientFactory - Node Discovery Disabled...
INFO ContextLoader - Root WebApplicationContext: initialization completed in 7821 ms
INFO Reflections - Reflections took 84 ms to scan 1 urls, producing 66 keys and 276 values
但http://localhost:8080/v1/swagger.json不起作用(给出 404)。
我已经尝试了很多案例(在 swagger conf 中使用 v1,没有等),但是缺少一些东西。你有什么想法吗?
我现有的api是这样的:
http://localhost:8080/v1/users/34
作品。只是新加入的招摇不。