1. springboot+spring securite 集成swagger2html
2. nginx 配置外网不能访问host/swagger-ui.html java
3 内网经过http://ip:port/ swagger-ui.html方式访问nginx
此方式能够生成api文档,动态更新api文档。git
集成github
1.pom.xml 加上依赖web
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>
2.新建SwaggerWebMvcConfig.javaspring
@Configuration public class SwaggerWebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); // System.out.println("SwaggerWebMvcConfig addResourceHandlers" ); } }
3.新建SwaggerConfig.javaapi
@Configuration @EnableWebMvc @EnableSwagger2 public class SwaggerConfig { @Bean public Docket buildDocket() { // ParameterBuilder aParameterBuilder = new ParameterBuilder(); // aParameterBuilder // .parameterType("header") //参数类型支持header, cookie, body, query etc // .name("x-auth-token") //参数名 // .defaultValue("21423423") //默认值 // .description("header中token字段测试") // .modelRef(new ModelRef("string"))//指定参数值的类型 // .required(false).build(); //非必需,这里是全局配置,然而在登录的时候是不用验证的 // List<Parameter> aParameters = new ArrayList<Parameter>(); // aParameters.add(aParameterBuilder.build()); return new Docket(DocumentationType.SWAGGER_2).groupName("sj") .apiInfo(buildApiInf()) // .globalOperationParameters(aParameters) // .host("localhost:20000") .select() .apis(RequestHandlerSelectors.basePackage("sjes.gateway.app.controller"))//controller路径 .paths(PathSelectors.any()).build(); } private ApiInfo buildApiInf() { return new ApiInfoBuilder() .title("RestAPI Docs") .termsOfServiceUrl("http://www.github.com/kongchen/swagger-maven-plugin") .build(); } }
4.在WebSecurityConfigurerAdapter里添加以下代码springboot
public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws Exception { web.ignoring(). antMatchers("/swagger-ui.html") .antMatchers("/webjars/**") .antMatchers("/v2/**") .antMatchers("/swagger-resources/**"); } }
5.http://localhost:{port}/swagger-ui.html 便可cookie