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:
- 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é.
- 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:
- Nom: nom du paramètre.
- Valeur: spécifique signification des paramètres du rôle.
- requis: Paramètre requis.
- dataType: le paramètre type de données.
- 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.