赞
踩
如果你是一名Java开发工程师,那么使用swagger-bootstrap-ui将会非常简单,只需要在原使用的基础上,添加swagger-bootstrap-ui的maven引用jar包即可
knife4j的使用方式请前往Spring Boot中使用Knife4j
由于是springfox-swagger
的增强UI包,所以基础功能依然依赖Swagger,springfox-swagger
的jar包必须引入
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger2</artifactId>
- <version>2.9.2</version>
- </dependency>
然后引入SwaggerBootstrapUi的jar包
- <dependency>
- <groupId>com.github.xiaoymin</groupId>
- <artifactId>swagger-bootstrap-ui</artifactId>
- <version>${lastVersion}</version>
- </dependency>
Swagger2Config配置文件如下:
- @Configuration
- @EnableSwagger2
- public class SwaggerConfiguration {
-
- @Bean
- public Docket createRestApi() {
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(apiInfo())
- .select()
- .apis(RequestHandlerSelectors.basePackage("com.bycdao.cloud"))
- .paths(PathSelectors.any())
- .build();
- }
-
- private ApiInfo apiInfo() {
- return new ApiInfoBuilder()
- .title("swagger-bootstrap-ui RESTful APIs")
- .description("swagger-bootstrap-ui")
- .termsOfServiceUrl("http://localhost:8999/")
- .contact("developer@mail.com")
- .version("1.0")
- .build();
- }
- }
swagger-bootstrap-ui默认访问地址是:http://${host}:${port}/doc.html
Springfox-swagger默认提供了两个Swagger接口,需要开发者放开权限(如果使用shiro权限控制框架等),如果使用SwaggerBootstrapUi的增强功能,还需放开增强接口地址,所以,放开的权限接口包括3个,分别是:
Shiro
的相关配置实例如下:
- <!---other settings-->
- <property name="filterChainDefinitions">
- <value>
- /swagger-resources = anon
- /v2/api-docs = anon
- /v2/api-docs-ext = anon
- /doc.html = anon
- /webjars/** = anon
-
- //others....
- </value>
- </property>
SpringBoot中访问doc.html
报404的解决办法
实现SpringBoot的WebMvcConfigurer
接口,添加相关的ResourceHandler
,代码如下:
- @SpringBootApplication
- @ConditionalOnClass(SpringfoxWebMvcConfiguration.class)
- public class SwaggerBootstrapUiDemoApplication implements WebMvcConfigurer{
-
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
- registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
- }
- }
使用SpringMvc的朋友.在web.xml中配置了DispatcherServlet
,则需要追加一个url匹配规则,如下
- <servlet>
- <servlet-name>cmsMvc</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:config/spring.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <!--默认配置,.htm|.do|.json等等配置-->
- <servlet-mapping>
- <servlet-name>cmsMvc</servlet-name>
- <url-pattern>*.htm</url-pattern>
- </servlet-mapping>
- <!-- 配置swagger-bootstrap-ui的url请求路径-->
- <servlet-mapping>
- <servlet-name>cmsMvc</servlet-name>
- <url-pattern>/v2/api-docs</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>cmsMvc</servlet-name>
- <url-pattern>/swagger-resources</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>cmsMvc</servlet-name>
- <url-pattern>/v2/api-docs-ext</url-pattern>
- </servlet-mapping>
-
如果使用的是其他语言的话,想使用swagger-bootstrap-ui,建议使用她的前端分离版本swagger-bootstrap-ui-front
,具体可参考前端分离的文档说明
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。