Java|Java Swagger技术使用指南

目录

  • Swagger的作用与概念
  • 在项目中使用swagger
  • 配置swagger
  • ApiInfo 配置
  • swagger配置扫描接口
  • 配置api文档分组
    • 多个分组
  • 实体类配置

    Swagger的作用与概念 Swagger官网,点此进入
    在前后端分离时代,我们需要实时自动更新接口信息,和测试接口,实现前后端分离式开发,swagger因此产生
    【Java|Java Swagger技术使用指南】
    在项目中使用swagger 以下以3.0.0依赖为例
    io.springfoxspringfox-swagger23.0.0io.springfoxspringfox-swagger-ui3.0.0io.springfoxspringfox-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文档
    Java|Java Swagger技术使用指南
    文章图片


    配置swagger 先来看看底层的代码,了解一下
    Java|Java Swagger技术使用指南
    文章图片

    Java|Java 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文档分组 Java|Java Swagger技术使用指南
    文章图片


    多个分组
    配置多个Docket 实例即可
    @Beanpublic Docket docket1(){return new Docket(DocumentationType.SWAGGER_2).groupName("分组一"); } @Beanpublic Docket docket2(){return new Docket(DocumentationType.SWAGGER_2).groupName("分组二"); }`


    实体类配置 Java|Java Swagger技术使用指南
    文章图片

    Java|Java Swagger技术使用指南
    文章图片

    Java|Java Swagger技术使用指南
    文章图片

    Java|Java Swagger技术使用指南
    文章图片

    Java|Java Swagger技术使用指南
    文章图片

    到此这篇关于Java Swagger技术使用指南的文章就介绍到这了,更多相关Java Swagger内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

      推荐阅读