Swagger--分组 & 接口注释

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swagger--分组 & 接口注释相关的知识,希望对你有一定的参考价值。

01: Swagger–介绍及SpringBoot集成Swagger
02: Swagger–配置Swagger信息
03: Swagger–配置扫描接口及开关
04: Swagger–分组 & 接口注释
05: Swagger–接口测试&Swagger小结

1. Swagger--分组和接口注释及小结


1.1 配置分组

如果没有配置分组,默认是default。通过groupName()方法即可配置分组:

groupName("group01") // 配置分组
在这里插入图片描述

SwaggerConfig.java

    /**
     * 配置docket以配置Swagger具体参数
     */
    @Bean
    public Docket docket(Environment environment) {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("group01").select().apis(RequestHandlerSelectors.basePackage("com.tian.swagger.controller")).build();
    }

启动测试:
在这里插入图片描述


1.2 配置多个分组?

配置多个分组只需要配置多个docket即可:

在这里插入图片描述

SwaggerConfig.java

    /**
     * 配置docket以配置Swagger具体参数
     */
    @Bean
    public Docket docket(Environment environment) {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("group01").select().apis(RequestHandlerSelectors.basePackage("com.tian.swagger.controller")).paths(PathSelectors.ant("/tian/**")).build();
    }

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

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

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

运行结果:
在这里插入图片描述


1.3 实体配置

实体就是Models
在这里插入图片描述

1.3.1 新建一个实体类

在这里插入图片描述

User.java

package com.tian.swagger.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * ClassName: User
 * Description: Api相关的注释就是Swagger接口文档的注释信息
 *
 * @author Administrator
 * @date 2021/6/6 12:11
 */
@ApiModel("用户实体")
public class User {
    @ApiModelProperty("用户名")
    private String username;
    @ApiModelProperty("密码")
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

1.3.2 接口返回一个实体对象

在这里插入图片描述

HelloController.java

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

运行结果:
在这里插入图片描述


1.3.3 小结

注:并不是因为@ApiModel这个注解让实体显示在这里了,而是只要出现在接口方法的返回
值上的实体都会显示在这里,而@ApiModel和@ApiModelProperty这两个注解只是为实体添
加注释的。
  • @ApiModel为类添加注释
  • @ApiModelProperty为类属性添加注释

1.4 接口注释

  • @ApiOperation 注解在方法上面,用于描述这个接口是干嘛的
  • @ApiParam 注解是放在方法的参数前面, 用于描述这个参数

在这里插入图片描述

HelloController.java

package com.tian.swagger.controller;

import com.tian.swagger.pojo.User;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * ClassName: HelloController
 * Description: 测试项目是否可以正常运行
 *
 * @author Administrator
 * @date 2021/6/5 21:05
 */
@RestController
public class HelloController {
    /**
     * @ApiOperation 注解在方法上面, 用于描述这个接口是干嘛的
     * @ApiParam 注解是放在方法的参数前面, 用于描述这个参数
     */
    @ApiOperation("返回用户的信息,并且向用户问好☘")
    @GetMapping("/helloUser")
    public String hello(@ApiParam(value = "用户名") String userName) {
        return "hello" + userName;
    }

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

运行测试:
在这里插入图片描述
在这里插入图片描述



以上是关于Swagger--分组 & 接口注释的主要内容,如果未能解决你的问题,请参考以下文章

[Swagger2]分组和接口注释及小结

Swagger--配置扫描接口及开关

Swagger--配置Swagger信息

Swagger--介绍及SpringBoot集成Swagger

Swagger初学习笔记

Swagger2接口注释参数使用数组