博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swagger配置及升级版swagger-bootstrap-ui配置+访问账号密码登录限制
阅读量:3945 次
发布时间:2019-05-24

本文共 4269 字,大约阅读时间需要 14 分钟。

本文主要介绍swagger-ui及加强版swagger-bootstrap-ui配置

一:普通swagger-ui配置

1:pom添加依赖

io.springfox
springfox-swagger2
2.6.1
io.springfox
springfox-swagger-ui
2.6.1

2:添加配置类SwaggerConfig:

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration@EnableSwagger2public class SwaggerConfig {
@Bean public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.XXX.web.controller"))//扫描包范围 .paths(PathSelectors.any()) .build(); } /** * API 说明,包含作者、简介、版本、host、服务URL */ private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("XXXAPI文档") .description("XXXAPI文档") //.contact(new Contact("API文档", "http://www.XXX.com/", "xxx@qq.com"))//作者信息 //.version("1.0")//定义api 版本号 .build(); }}

3:如果有登录验证等拦截器,如下资源需要放行

registry.addResourceHandler("swagger-ui.html")        .addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**")        .addResourceLocations("classpath:/META-INF/resources/webjars/");

4:Controller添加如下swagger 注解即可

//类注解:@Api(tags = "1.0",value = "account",description = "账户Controller")//方法注解:    @ApiOperation(value = "用户账户", notes = "提现列表",httpMethod = "POST")    @ApiImplicitParam(name = "userId", value = "userId", required = true)

在这里插入图片描述

5:访问地址

ip:port/swagger-ui.html

1

二:加强版swagger-bootstrap-ui配置

swagger-bootstrap-ui相比swagger-ui更加强大,提供测试及账号密码验证登录等配置,个人觉得文档页面样式更加简洁明了

配置方式基本与swagger-ui一致

1:修改pom依赖

io.springfox
springfox-swagger2
2.6.1
com.github.xiaoymin
swagger-bootstrap-ui
1.9.6

2:添加配置类SwaggerConfig:在swagger-ui基础上只是多了@EnableSwaggerBootstrapUI类注解

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration@EnableSwagger2@EnableSwaggerBootstrapUIpublic class SwaggerConfig {
@Bean public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.XXX.web.controller"))//扫描包范围 .paths(PathSelectors.any()) .build(); } /** * API 说明,包含作者、简介、版本、host、服务URL */ private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("XXXAPI文档") .description("XXXAPI文档") //.contact(new Contact("API文档", "http://www.XXX.com/", "xxx@qq.com"))//作者信息 //.version("1.0")//定义api 版本号 .build(); }}

3:配置文件添加接口文档访问自定义账号密码(本文为yml格式)

#配置swagger登陆验证swagger:  production: false  basic:    enable: true    username: xxx    password: xxx

4:修改拦截器等放行资源

registry.addResourceHandler("doc.html")        .addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**")        .addResourceLocations("classpath:/META-INF/resources/webjars/");

5:访问地址

ip:port/doc.html

账号密码即为3中所配置username及password

转载地址:http://nkowi.baihongyu.com/

你可能感兴趣的文章
转 hook 自绘原理
查看>>
NSIS 脚本介绍
查看>>
记录通讯日志的函数
查看>>
c++ 标准容器介绍与对比
查看>>
web DB优化思路
查看>>
敏捷笔记
查看>>
SOA业务理解与应用
查看>>
Google File System(中文翻译)
查看>>
Google's BigTable 原理 (翻译)
查看>>
MapReduce:超大机群上的简单数据处理
查看>>
设计模式笔记(转载)
查看>>
加站点加入IE的可信站点做法
查看>>
软件研发中的《破窗理论》
查看>>
敏捷的三种误区和五种改进
查看>>
用数字来看某知名B2C网站的发展内幕和隐私
查看>>
vs2010一些设置
查看>>
生活感悟语录
查看>>
用python中htmlParser实现的spider(python spider)
查看>>
在线测速网址
查看>>
mysql中GROUP_CONCAT的应用
查看>>