Springboot集成Swagger

Springboot集成Swagger

  1. 新建一个springboot-web项目

  2. 测试helloworld程序

  3. 导入swagger需要的依赖

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger-ui</artifactId>
   <version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>2.9.2</version>
</dependency>
  1. 编写Swagger的基本配置

@Configuration
@EnableSwagger2     //开启Swagger2
public class SwaggerConfig {
}
  1. 测试运行 http://localhost:8080/swagger-ui.html

 

 

  1. 配置Swagger的信息

//配置了Swagger的Docket的bean实例
@Bean
public Docket docket(){
   return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}

//配置Swagger的相关信息
private ApiInfo apiInfo(){
   //作者信息
   Contact contact = new Contact("czhaiii", "http://localhost:8080", "1748261603@qq.com");
   return new ApiInfo(
           "czh Swagger",
           "即使再小的帆也能远航",
           "v1.0",
           "urn:tos",
           contact,
           "Apache 2.0",
           "http://www.apache.org/licenses/LICENSE-2.0",
           new ArrayList());
}
 
  1. Swagger配置扫描接口+配置是否启动Swagger

//配置了Swagger的Docker的bean实例
@Bean
public Docket docket(){
   return new Docket(DocumentationType.SWAGGER_2)
          .apiInfo(apiInfo())
          .enable(false)//enable(boolean externallyConfiguredFlag):是否启动Swagger,如果为false,则Swagger不能在浏览器中访问
          .select()
           //RequestHandlerSelectors   配置要扫描接口的方式
           //basePackage():指定要扫描的包
           //any():扫描全部
           //none():不扫描
           //withClassAnnotation():扫描类上的注解,参数是一个注解的反射对象
           //withMethodAnnotation():扫描方法上的注解
          .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
           //paths():过滤什么路径
          .paths(PathSelectors.ant("/kuang/**"))
          .build();
}
  1. 在Swagger中设置多个组

@Bean
public Docket docket1(Environment environment){
   return new Docket(DocumentationType.SWAGGER_2).groupName("A");
}

@Bean
public Docket docket2(Environment environment){
   return new Docket(DocumentationType.SWAGGER_2).groupName("B");
}

@Bean
public Docket docket3(Environment environment){
   return new Docket(DocumentationType.SWAGGER_2).groupName("C");
}

 

 

 
  1. 配置实体类

pojo

@ApiModel("用户实体类")
public class User {
   @ApiModelProperty("用户名")
   public String username;
   @ApiModelProperty("密码")
   public String password;
}

controller

注:只有引入到Controller层中实体类才会注入到Swagger中

@PostMapping("/user")
public User user(){
   return new User();
}

Swagger的优点

  1. 我们可以通过Swagger给一些比较难理解的属性或者接口,增加注释信息

  2. 接口文档实时更新

  3. 可以在线测试

 

posted @   阳光真好的博客  阅读(279)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示