Spring Boot intègre swagger3, explication détaillée des annotations swagger

1. Présentation des dépendances

<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-boot-starter</artifactId>
      <version>3.0.0</version>
</dependency>

2. Fichier de configuration

spring:  
  mvc:
    # swagger配置
    pathmatch:
      matching-strategy: ant_path_matcher

Trois, classe de configuration swagger

@Configuration
public class Swagger3Config {     @Bean     public Docket createRestApi() {         return new Docket(DocumentationType.OAS_30)                 .apiInfo(apiInfo())                 .select()                 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))                 .paths(PathSelectors. tout())                 .build();     }








    private ApiInfo apiInfo() {         return new ApiInfoBuilder()                 .title("Swagger3 Interface Documentation")                 .description("Document Description")                 .contact(new Contact("Name", "URL", "Email"))                 .version( "1.0")                 .build();     } }








 

Quatrièmement, utilisez (annotations courantes)

sur la classe contrôleur

@Api(tags = "Interface de requête utilisateur", description = "Ajouter, supprimer, modifier, interroger la liste des utilisateurs, initialisation du mot de passe")
sur la méthode du contrôleur

@ApiOperation("query user list")
test : ouvrez http://localhost:9000/swagger-ui/index.html
 

1. @Api() : utilisé sur la classe demandée, indiquant la description de la classe, et représentant également que cette classe est une ressource swagger2

paramètre:

tags:说明该类的作用,参数是个数组,可以填多个。
value="该参数没什么意义,在UI界面上不显示,所以不用配置"
description = "用户基本信息操作"

2. @ApiOperation() : utilisé pour les méthodes, indiquant qu'une requête http accède à l'opération de la méthode

paramètre:

value="方法的用途和作用"    
notes="方法的注意事项和备注"    
tags:说明该方法的作用,参数是个数组,可以填多个。
格式:tags={"作用1","作用2"} 
(在这里建议不使用这个参数,会使界面看上去有点乱,前两个常用)

3. @ApiModel() : utilisé pour répondre aux classes d'entités, utilisé pour illustrer le rôle des entités

paramètre:

description="描述实体的作用"  

4. @ApiModelProperty : Utilisé sur les attributs pour décrire les attributs des classes d'entités

paramètre:

value="用户名"  描述参数的意义
name="name"    参数的变量名
required=true     参数是否必选

5. @ApiImplicitParams : utilisé dans la méthode de requête, y compris plusieurs @ApiImplicitParams

6. @ApiImplicitParam : utilisé pour les méthodes, représentant les paramètres de requête individuels

paramètre:

name="参数ming" 
value="参数说明" 
dataType="数据类型" 
paramType="query" 表示参数放在哪里
    · header 请求参数的获取:@RequestHeader
    · query   请求参数的获取:@RequestParam
    · path(用于restful接口) 请求参数的获取:@PathVariable
    · body(不常用)
    · form(不常用) 
defaultValue="参数的默认值"
required="true" 表示参数是否必须传

7. @ApiParam() : utilisé pour les méthodes, les paramètres et les descriptions de champs pour indiquer les exigences et les descriptions des paramètres

paramètre:

name="参数名称"
value="参数的简要说明"
defaultValue="参数默认值"
required="true" 表示属性是否必填,默认为false

8. @ApiResponses : Utilisé dans la méthode de requête, différentes réponses sont indiquées en fonction du code de réponse

Un @ApiResponses contient plusieurs @ApiResponse

9. @ApiResponse : Utilisé dans la méthode de requête pour indiquer différentes réponses

Paramètres :

code="404"    表示响应码(int型),可自定义
message="状态码对应的响应信息"   

10. @ApiIgnore() : Utilisé sur les classes ou les méthodes, non affiché sur la page

11. @Profile({"dev", "test"}) : utilisé sur les classes de configuration, indiquant qu'il n'est utile que pour les environnements de développement et de test

Je suppose que tu aimes

Origine blog.csdn.net/leonnew/article/details/128142640
conseillé
Classement