zoukankan      html  css  js  c++  java
  • springboot配置swagger

      不久之前配置过swagger,因为比较顺利,懒得去记录,结果今天再配置的时候,各种坑,浪费了两个小时,牢记教训,还是记一下。

      首先说一下为什么添加swagger模块,对于api项目来说,接口的管理和测试对于使用方来说,不怎么友好;为缓解这个问题,这才有了swagger。

      接下来说一下配置步骤:

      ①、添加依赖

      

            <!-- swagger -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.7.0</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.7.0</version>
            </dependency>
    pom.xml

      ②、将swagger模块加载到spring上下文

      

     1 @Configuration
     2 @EnableSwagger2
     3 public class Swagger2Config {
     4 
     5     @Bean
     6     public Docket createRestApi() {
     7         return new Docket(DocumentationType.SWAGGER_2)
     8                 .apiInfo(apiInfo())
     9                 // select()函数返回一个ApiSelectorBuilder实例用来构建Docket
    10                 .select()
    11                 // Swagger会扫描该包下所有Controller定义的API,并产生文档内容
    12                 .apis(RequestHandlerSelectors.basePackage("com.test.api"))
    13                 // 不需要过滤接口
    14                 .paths(PathSelectors.any())
    15                 .build();
    16     }
    17 
    18     /**
    19      * Api的基本信息(这些基本信息会展现在文档页面中)
    20      */
    21     private ApiInfo apiInfo() {
    22         return new ApiInfoBuilder()
    23                 .title("数据API")
    24                 .description("data REST API, all the applications could access the data via JSON.")
    25                 .version("1.0")
    26                 .build();
    27     }
    28 }
    View Code

      ③、为swagger写一个http入口

     1 /**
     2  * swagger 入口类
     3  */
     4 @ApiIgnore
     5 @Controller
     6 @RequestMapping( "/swagger")
     7 public class SwaggerCtrl {
     8 
     9     @RequestMapping(method = RequestMethod.GET)
    10     public String index(Map<String, Object> model) {
    11         return "redirect:swagger-ui.html";
    12     }
    13 
    14 }
    View Code

      ④、为需要提供出去的接口配置说明

    @RestController
    @Api(tags = "测试查询接口")
    //@CrossOrigin
    @RequestMapping("/test")
    public class MyTestCtrl {
    
        @Resource
        private TestService testService;
        
        /**
         * 功能描述:查询最新一场数据
         */
        @RequestMapping(value = "lastest", method = RequestMethod.GET)
        @ResponseBody
        @ApiOperation(value = "查询最新一条数据" ,response = Result.class)
        public Result<?> lastest() {
            return testService.lastest();
        }
        
    }
    View Code

    到这里就配置完成了,springboot启动之后,访问http://localhost:8081/swagger,如果报404,找不到页面,可能是编译问题,可以尝试一下mvn clean compile。

    最后放一个正常运行的截图:

  • 相关阅读:
    发送邮件(公共方法)
    Des加密解密(公共方法)
    星期几以及周,月份天数的计算(共用方法)
    生成随机字符(公共方法)
    MD5函数(公共方法)
    字符串的截取(公共方法)
    AES加密解密
    日期选择控件
    ios CAF音频转换为MP3
    iOS中获取各种文件的目录路径和文件
  • 原文地址:https://www.cnblogs.com/yucy/p/8399754.html
Copyright © 2011-2022 走看看