springmvc+swagger2
生活随笔
收集整理的這篇文章主要介紹了
springmvc+swagger2
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、swagger2依賴
<!--swagger--> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><exclusions><exclusion><artifactId>spring-aop</artifactId><groupId>org.springframework</groupId></exclusion><exclusion><artifactId>jackson-annotations</artifactId><groupId>com.fasterxml.jackson.core</groupId></exclusion></exclusions> </dependency> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId> </dependency>二、springmvc配置文件加入
<mvc:default-servlet-handler />三、web.xml配置
<welcome-file-list><welcome-file>swagger-ui.html</welcome-file> </welcome-file-list>四、swagger2配置
可創(chuàng)建多個Docket,對restful api進行分組管理
import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;@EnableWebMvc @EnableSwagger2 @Configuration public class Swagger2Config extends WebMvcConfigurationSupport {@Beanpublic Docket docket() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("admin").select().apis(RequestHandlerSelectors.withClassAnnotation(Api.class)).apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.ant("/**")).build();}// @Bean // public Docket xxx() { // return new Docket(DocumentationType.SWAGGER_2) // .apiInfo(apiInfo()) // .groupName("xxx") // .select() // .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // .paths(PathSelectors.ant("/xxx/**")) // .build(); // }private ApiInfo apiInfo() {return new ApiInfoBuilder().title("shiro 無狀態(tài)組件").contact(new Contact("胡俊哲個", "", "2570230521@qq.com")).version("1.0").build();} }五、效果演示
Restful API 訪問路徑: * http://IP:port/{context-path}/swagger-ui.html六、注意事項
1、如果有攔截器或者過濾器 對項目根路徑進行攔截,可能<welcome-file>的配置不生效!
2、如果 配置?<welcome-file>swagger-ui.html</welcome-file>,訪問?http://IP:port/{context-path}/,雖然可以看到頁面,但是接口內(nèi)容顯示不出來。原因如下:
這個js在匹配url的時候 要包含“swagger-ui.html”,所以就出錯了。解決方案如下:
(1)修改web.xml
<welcome-file-list><welcome-file>index.html</welcome-file></welcome-file-list>(2)新建index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>首頁</title> </head> <body> <script type="application/javascript">window.location.href = window.location.origin + "/shiro/swagger-ui.html"; </script> </body> </html>七、swagger2常用注解參考
Swagger-Core Annotations
轉(zhuǎn)載于:https://www.cnblogs.com/hujunzheng/p/7210140.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的springmvc+swagger2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五菱之光6400款面包车有点烟器功能吗
- 下一篇: 乐清到龙西的车经过清江吗