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")
//havingValue是与配置的值对比值,当两个值相同返回true,配置类生效.
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;
}

 

SpringBoot集成Swagger-Bootstrap-UI,页面更清爽!

https://blog.csdn.net/sihai12345/article/details/115743643

posted @ 2020-08-04 16:42  刘百会  阅读(202)  评论(0)    收藏  举报