Java|Java Swagger技术使用指南
目录
- Swagger的作用与概念
- 在项目中使用swagger
- 配置swagger
- ApiInfo 配置
- swagger配置扫描接口
- 配置api文档分组
- 多个分组
- 实体类配置
Swagger的作用与概念 Swagger官网,点此进入
在前后端分离时代,我们需要实时自动更新接口信息,和测试接口,实现前后端分离式开发,swagger因此产生
【Java|Java Swagger技术使用指南】
在项目中使用swagger 以下以3.0.0依赖为例
io.springfox springfox-swagger23.0.0 io.springfox springfox-swagger-ui3.0.0 io.springfox springfox-boot-starter3.0.0
@RestControllerpublic class HelloController {@RequestMapping(value = "https://www.it610.com/hello")public String hello(){return "hello"; }}
@Configuration@EnableSwagger2 //开启swagger2public class SwaggerConfig {}
然后访问http://localhost:8080/swagger-ui/index.html
你就能看到如下界面,为swagger文档
文章图片
配置swagger 先来看看底层的代码,了解一下
文章图片
文章图片
ApiInfo 配置
@Configuration@EnableSwagger2 //开启swagger2public class SwaggerConfig {@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()); }//配置swagger信息apiInfoprivate ApiInfo apiInfo(){//作者信息Contact contact = new Contact("宋先慧", "https://blog.csdn.net/sxh06", "xianhuisong@yeah.net"); return new ApiInfo("宋先慧的Api Documentation","学习swagger没有尽头","1.0","urn:tos",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList()); }}
swagger配置扫描接口
@Configuration@EnableSwagger2 //开启swagger2public class SwaggerConfig {//@Bean//public Docket docket1(){//return new Docket(DocumentationType.SWAGGER_2).groupName("分组二"); //}@Beanpublic Docket docket(Environment environment){Profiles profiles=Profiles.of("dev"); //获取项目的环境boolean flag=environment.acceptsProfiles(profiles); return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("宋先慧")//分组.enable(flag)//enable 配置是否启动swaggerflase则不能在浏览器访问.select()//RequestHandlerSelectors实现类配置扫描方式// basePackage指定要扫描的包// any()全部// none()都不扫描//withClassAnnotation()扫描类上的注解参数是一个注解的反射对象//withMethodAnnotation扫描方法上的注解.apis(RequestHandlerSelectors.basePackage("com.sxh.swagger.controller"))//.apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))//过滤什么路劲过滤请求//.paths(PathSelectors.ant("/sxh/**")).build(); }//配置swagger信息apiInfoprivate ApiInfo apiInfo(){//作者信息Contact contact = new Contact("宋先慧", "https://blog.csdn.net/sxh06", "xianhuisong@yeah.net"); return new ApiInfo("宋先慧的Api Documentation","学习swagger没有尽头","1.0","urn:tos",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList()); }}
如果我只希望在生成环境使用swagger,在正式环境不使用swagger怎么解决?(enable=false|true)
配置api文档分组
文章图片
多个分组
配置多个Docket 实例即可
@Beanpublic Docket docket1(){return new Docket(DocumentationType.SWAGGER_2).groupName("分组一"); } @Beanpublic Docket docket2(){return new Docket(DocumentationType.SWAGGER_2).groupName("分组二"); }`
实体类配置
文章图片
文章图片
文章图片
文章图片
文章图片
到此这篇关于Java Swagger技术使用指南的文章就介绍到这了,更多相关Java Swagger内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- GIS跨界融合赋能多领域技术升级,江淮大地新应用成果喜人