SwaggerAPI notes détaillées et les annotations de configuration des paramètres communs

Adresse originale Bowen: https://blog.csdn.net/java_yes/article/details/79183804

Adresse site officiel github: https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X

commentaire

@Api:

Agissant sur la classe, l'étiquette de classe pour une teneur en mise en œuvre spécifique. Cette classe est un drapeau indiquant fanfaronnades des ressources.
paramètres:

  1. tags: les tags peuvent être utilisés () vous permet de définir les propriétés de l'opération d'une pluralité d'étiquettes, au lieu d'utiliser cette propriété.
  2. description: description peut décrire cet effet.

@ApiImplicitParam:

Agissant sur le procédé, ce qui représente un paramètre de demande distincte
Paramètres:

  1. Nom: nom du paramètre.
  2. Valeur: spécifique signification des paramètres du rôle.
  3. requis: Paramètre requis.
  4. dataType: le paramètre type de données.
  5. typeParam: le type de paramètres de requête, il existe plusieurs formes:
type effet
chemin Soumettre les données sous forme d'adresse
requete la cartographie automatique est effectuée directement avec l'affectation des paramètres
corps Soumis comme un flux ne supporte que POST
entête Paramètres têtes de requête soumis à l'intérieur
forme Soumis comme une forme de formulaire de support POST uniquement

Ici, j'étais fosse une fois: Quand j'envoie une requête POST a été acceptée par l'ensemble de paramètres, si j'utilise le corps ou d'une requête, l'arrière-plan sera signalé une erreur manquante du corps. Ce paramètre et @RequestBody conflit SpringMVC, j'ai simplement enlevé le typeParam, et n'a pas d'effet sur les tests d'interface.

@ApiImplicitParams:

Procédé comprenant une pluralité @ApiImplicitParam:
Exemple:

@ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "book's name", required = true, dataType = "Long", paramType = "query"),
            @ApiImplicitParam(name = "date", value = "book's date", required = false, dataType = "string", paramType = "query")})

@ApiModel:

Une classe représentant la classe est décrite, destinée à recevoir la classe d'entité paramètre;

@ApiModelProperty:

Procédé pour, un champ ou des données sur une opération explicite de changement d'attribut de modèle
Exemple:

    @ApiModel(value = "User", description = "用户")
    public class User implements Serializable{

    private static final long serialVersionUID = 1546481732633762837L;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID", required = true)
    @NotEmpty(message = "{id.empty}", groups = {Default.class,New.class,Update.class})
    protected String id;

    /**
     * code/登录帐号
     */
    @ApiModelProperty(value = "code/登录帐号")
    @NotEmpty(message = "{itcode.empty}", groups = {Default.class,New.class,Update.class})
    protected String itcode;

    /**
     * 用户姓名
     */
    @ApiModelProperty(value = "用户姓名")
    @NotEmpty(message = "{name.empty}", groups = {Default.class,New.class,Update.class})
    protected String name;

@ApiOperation:

Procédé pour indiquer le fonctionnement d'une requête HTTP.

    @ApiOperation(value = "获取图书信息", notes = "获取图书信息", response = Book.class, responseContainer = "Item", produces = "application/json")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "book's name", required = true, dataType = "Long", paramType = "query"),
            @ApiImplicitParam(name = "date", value = "book's date", required = false, dataType = "string", paramType = "query")})
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    @ResponseBody
    public Book getBook(@PathVariable Long id, String date) {
        return books.get(id);
    }

@ApiResponse:

Un procédé peut être décrit en réponse à l'opération.

@ApiResponses:

Procédé permettant à une pluralité d'enveloppe de liste d'objets d'ApiResponse.
exemple:

@ApiResponses(value = { 
            @ApiResponse(code = 500, message = "2001:因输入数据问题导致的报错"),
            @ApiResponse(code = 500, message = "403:没有权限"),
            @ApiResponse(code = 500, message = "2500:通用报错(包括数据、逻辑、外键关联等,不区分错误类型)")})

@ApiParam:

Procédé pour le paramètre, une description des champs, l'ajout de métadonnées pour représenter les paramètres (si les instructions nécessaires ou analogues)

@Autorisation:

régime d'autorisation de déclaration à utiliser dans la ressource ou de l'exploitation.

@AuthorizationScope:

OAuth2 introduire un mandat.

@ResponseHeader:

en-tête de réponse, l'utilisation.

Publié 33 articles originaux · a gagné les éloges 9 · vues 8701

Je suppose que tu aimes

Origine blog.csdn.net/Serena0814/article/details/94717217
conseillé
Classement