SpringBoot整合--Swagger2
Posted 闲言_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合--Swagger2相关的知识,希望对你有一定的参考价值。
1.导入依赖
<!--web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springboot测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--Swagger依赖-->
<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>
<!--lombox 插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.创建Swagger配置类
package cn.bloghut.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.VendorExtension;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
/**
* @Classname SwrggerConfig
* @Description TODO
* @Date 2021/12/16 15:11
* @Created by 闲言
*/
@EnableSwagger2
@Configuration
public class SwaggerConfig
/**
* 配置Swagger docket 的 bean 例
* @return
*/
@Bean
public Docket docket()
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()//RequestHandlerSelectors 配置要扫描解接口的方式
//basePackage 指定要扫描的包
//any():扫描全部
//none():不扫码
//withClassAnnotation:扫描类上的注解,参数是注解的反射对象
//withMethodAnnotation:扫描方法上的注解
//withClassAnnotation(RestController.class) 只会扫描类上有RestController 注解的类
.apis(RequestHandlerSelectors.basePackage("cn.bloghut.controller"))
//paths() 过滤路径
.paths(PathSelectors.ant("/**"))
.build();
/**
* 单独抽取出来
* @return
*/
public ApiInfo apiInfo()
Contact contact = new Contact("闲言","http://www.bloghut.cn","1765736057@qq.com");
return new ApiInfo(
"闲言的Swagger Api 文档",
"即使再小的帆也能远航",
"v1.0",
"http://www.bloghut.cn",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList<VendorExtension>());
3.创建实体类
/**
* @Classname User
* @Description 老师实体类
* @Date 2021/12/16 15:29
* @Created by 闲言
*/
@Data
@ApiModel("老师实体类")
@Api("注释信息")
public class User
@ApiModelProperty("用老师D")
private int id;
@ApiModelProperty("老师名")
private String name;
4.编写控制器
/**
* @Classname TeacherController
* @Description 老师控制器
* @Date 2021/12/16 15:19
* @Created by 闲言
*/
@RestController
@RequestMapping("teacher")
public class TeacherController
@GetMapping("findAll")
@ApiOperation("方法注释查询所有老师方法")
public Object findAll()
return "Hello SpringBoot!";
@PostMapping("add")
@ApiOperation("方法注释添加所有老师方法")
public Object add(@ApiParam("用户")User user)
return "Hello SpringBoot!";
@PutMapping("update")
@ApiOperation("方法注释修改所有老师方法")
public Object update()
return "Hello SpringBoot!";
@DeleteMapping("delete")
@ApiOperation("方法注释删除所有老师方法")
public Object delete()
return "Hello SpringBoot!";
UserController和StudentController未展示
5.测试
1.访问地址
http://localhost/swagger-ui.html
注意:这里我改了端口为80,所以不用显示输入端口
2.跳转到首页
3.查看TeacherController的信息
4.查看add方法
5.完结,主要的代码还是在Swagger配置,其他都是加注解就行了
以上是关于SpringBoot整合--Swagger2的主要内容,如果未能解决你的问题,请参考以下文章