Les deux annotations suivantes fonctionnent pour ajouter des métadonnées aux documents swagger-ui. Laquelle devrait être préférée et pourquoi?
public class MyReq {
@ApiModelProperty(required = true, value = "the persons name")
@ApiParam(required = true, value = "the persons name")
private String name;
}
@RestController
public class MyServlet {
@RequestMapping("/")
public void test(MyReq req) {
}
}
Il y a une énorme différence entre les deux. Ils sont tous deux utilisés pour ajouter des métadonnées à swagger mais ils ajoutent des métadonnées différentes.
@ApiParam
est pour les paramètres. Il est généralement défini dans la classe de demande de ressource API.
Exemple de @ApiParam:
/users?age=50
il peut être utilisé pour définir l'âge des paramètres et les champs suivants:
@ApiModelProperty
est utilisé pour ajouter des propriétés aux modèles. Vous l'utiliserez dans votre classe de modèle sur les propriétés du modèle.
Exemple:
l'utilisateur du modèle a le nom et l'âge comme propriétés: nom et âge, puis pour chaque propriété, vous pouvez définir les éléments suivants:
Pour l'âge:
Consultez les champs que chacun dénote dans les objets swagger:
@ ApiModelProperty- https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md#529-property-object
@ApiParam - https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md#524-parameter-object