• Springboot整合swagger2


    第一步:添加依赖

      <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.9.2</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.9.2</version>
            </dependency>
    

      第二步:添加配置文件

    package com.example.lianxi.demo.config;
    
    import io.swagger.annotations.ApiOperation;
    import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.RequestHandler;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    @Configuration
    @EnableSwagger2
    @ConditionalOnProperty(name = "swagger.enable",  havingValue = "false")//通过配置文件是否开启swagger,生成环境一般不开启
    public class SwaggerConfigure {
    
        @Bean
        public Docket createDocket(){
            Docket docket = new Docket(DocumentationType.SWAGGER_2);
            docket
                    .select()
                    .paths(PathSelectors.any())
                    .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                    .build();
            return docket;
        }
    
    }
    

    第三步:访问

    http://localhost:8081/swagger-ui.html

    第四步:常用注解

    @Api 用在请求的类上,表示对类的说明

    @ApiOperation 用在请求的方法上

    @ApiImplicitParams 用在请求的方法上,表示一组参数说明

    @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面

    @ApiModel 用在请求的类上,表示对类的说明
    @ApiResponses用在请求的方法上,表示一组响应
    @ApiParam 用在请求方法中,描述参数信息

    例子:

    @RestController
    @RequestMapping("/kettle")
    @Api(tags = "kettle调度任务")
    public class KettleDispatchController {}
     /**
         * 调度作业
         */
        @GetMapping("/job")
        @ApiOperation(value = "调度作业")
        public BaseResponse job(@RequestParam("jobName") String jobName) {
            dispatchJobService.runJob(jobName);
            return BaseResponse.success(null);
    
        }
    @Data
    @ApiModel(value="ConsultProject对象",description="项目留言")
    public class ConsultProjectDto  implements Serializable {
    
    
        /**
         * 公司名称
         */
        @ApiModelProperty(value="公司名称",example="百度")
        private String companyName;
    
        /**
         * 联系人
         */
        @ApiModelProperty(value="联系人",example="张三")
        private String contactsName;
    
        /**
         * 联系人电话
         */
        @ApiModelProperty(value="联系人电话",example="18709980921")
        private String contactsPhone;
    
        /**
         * 咨询标题
         */
        @ApiModelProperty(value="咨询标题",example="标题1")
        private String consultTitle;
    
        /**
         * 咨询内容
         */
        @ApiModelProperty(value="咨询内容",example="内容")
        private String consultContent;
    
        /**
         * 咨询对象
         */
        @ApiModelProperty(value="咨询对象",example="某老师")
        private String consultMan;
    
        /**
         * 价格
         */
        @ApiModelProperty(value="价格",example="100")
        private String price;
    
        /**
         * 成本项目id
         */
        @ApiModelProperty(value="成本项目id")
        private String topicInfoId;
    
    //    /**
    //     * 创建人
    //     */
    //    private String createBy;
    //
    //    /**
    //     * 创建时间
    //     */
    //    @CreatedDate
    //    private LocalDateTime createDate;
    //
    //    /**
    //     * 更新人
    //     */
    //    private String updateBy;
    //
    //    /**
    //     * 更新时间
    //     */
    //    private LocalDateTime updateDate;
    }
  • 相关阅读:
    LeetCode 152. 乘积最大子数组
    LeetCode 148. 排序链表
    LeetCode 143. 重排链表
    LeetCode 142. 环形链表 II
    LeetCode 137. 只出现一次的数字 II
    LeetCode 127. 单词接龙
    LeetCode 120. 三角形最小路径和
    spring boot redis 数据库缓存用法
    堪称神器的Chrome插件
    rocketMQ安装中遇到的坑
  • 原文地址:https://www.cnblogs.com/liubaihui/p/13434201.html
Copyright © 2020-2023  润新知