springboot整合swagger
前言
提示:这里可以添加本文要记录的大概内容:
一、Swagger简述
1.1 swagger是什么?
1、是一款让你更好的书写API文档规范且完整的框架。
2、提供描述、生产、消费和可视化RESTful Web Service。
3、是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到商业API管理的方方面面。
二、Swagger整合springboot使用步骤
2.1 步骤一:导入jar包(pom.xml文件)
<!-- swagger插件 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
2.2 步骤二: 编写swagger的配置类
package com.tzw.config;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
/**
* @author tzw
* @version 1.0
*/
@Configuration
public class Swagger3Config {
@Bean
public Docket apiConfig(){
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
//设置通过什么方式定位到需要生成文档的接口.
// 定位了方法上的Api0peration
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())//接口URL路径,any表示全部的路径
.build();
}
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("第一个Springboot项目")
.description("项目描述信息")
.contact(new Contact("tzw","https://blog.csdn.net/qq_45821255?spm=1011.2415.3001.5343","[email protected]"))
.version("1.0")
.build();
}
}
2.3 步骤三:在启动类上加@EnableOpenApi注解
package com.tzw;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import springfox.documentation.oas.annotations.EnableOpenApi;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@EnableOpenApi//以后很多配置都需要在启动类上加上Enable...,表示打开。
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
2.4 步骤4:在controller类中加上@Api(tags = {“模块作用说明”})
@Api(tags = {“xxx”})用在类上,表示说明该类的作用。
@RestController
@RequestMapping("/test")
@Api(tags = {
"第一个spring项目测试模块"})//用在类上,表示说明该类的作用。
public class TestController {
}
2.5 步骤5:在controller类中的方法上加上@ApiOperation(value = “模块结果”)
为了测试,完善一下controller层,同时完善pojo层:
controller:
@RestController
@RequestMapping("/test")
@Api(tags = {
"第一个spring项目测试模块"})//用在类上,表示说明该类的作用。
public class TestController {
@GetMapping()
@ApiOperation(value = "显示测试结果")//用在方法上,说明方法的用途和作用
public Object testDemo(){
List<TestDay01> list = new ArrayList<>();
list.add(new TestDay01("张三",18));
list.add(new TestDay01("张三1",12));
list.add(new TestDay01("张三2",13));
return list;
}
}
指定请求方法:
代码:
package com.tzw.gene.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tzw.gene.entity.User;
import com.tzw.gene.service.IUserService;
import com.tzw.gene.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Delete