项目的接口文档就像这个样子 里面还能进行调试 比原生的swagger好用多了
导入依赖
<!-- swagger2 依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<!-- Swagger第三方ui依赖 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
swagger2配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// 一般都是选择controller里面的包就可以了 当然你也可以选择全部
.apis(RequestHandlerSelectors.basePackage("cn.bb.yeb.server.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("云e办接口文档")
.description("云e办接口文档")
.contact(new Contact("sharpbb",
"http:localhost:8081/doc.html", "1029922944@qq,com"))
.version("1.0")
.build();
}
}
额外配置
如果使用了spring security 或者shiro 则需要放行某些请求 否则你无法访问swagger 底下4个是最重要的
@Override
public void configure(WebSecurity web) throws Exception {
//放行一些其他的请求
web.ignoring().antMatchers(
"/css/**",
"favicon.ico",
// 这个是必须的 上面的是一些静态文件
"/doc.html",
"/webjars/**",
"/swagger-resources/**",
"/v2/api-docs/**"
);
}
访问http://localhost:8081/doc.html即可看到 与原先的swagger的地址是不同的
还有一点 如果你使用token机制 在swagger里的全局配置的headers里也可以直接配置
在登陆后拿到token 在每个请求中都会有一个请求头的参数