Swagger @ApiParam vs @ApiModelProperty
Práve som oznámil nové Naučte sa jar kurz zameraný na základy jari 5 a Spring Boot 2:
>> SKONTROLUJTE KURZ1. Prehľad
V tomto tutoriáli sa v krátkosti pozrieme na Swaggerovu @ApiParam a @ApiModelProperty anotácie. Ďalej porovnáme tieto anotácie a určíme správne použitie pre každú z nich.
2. Kľúčový rozdiel
Jednoducho povedané, @ApiParam a @ApiModelProperty anotácie pridávajú do metriky Swagger rôzne metadáta. The @ApiParam anotácia je pre parametre požiadavky na zdroj API, zatiaľ čo @ApiModelProperty je pre vlastnosti modelu.
3. @ApiParam
The @ApiParam annotation is for use only with the JAX-RS 1.x / 2.x parameter annotations like @PathParam, @QueryParam, @HeaderParam, @FormParama @BeanParam. Hoci swagger-core predvolene skenuje tieto anotácie, môžeme použiť @ApiParam pridať ďalšie podrobnosti o parametroch alebo zmeniť hodnoty načítané z kódu.
The @ApiParam anotácia pomáha určiť názov, typ, popis (hodnotu) a príklad hodnoty parametra. Ďalej môžeme určiť, či je parameter povinný alebo voliteľný.
Pozrime sa na jeho použitie:
@RequestMapping (method = RequestMethod.POST, value = "/ createUser", produce = "application / json; charset = UTF-8") @ResponseStatus (HttpStatus.CREATED) @ResponseBody @ApiOperation (hodnota = "Vytvoriť používateľa", poznámky) = "Táto metóda vytvorí nového používateľa") public User createUser (@ApiParam (name = "firstName", type = "String", value = "First name of the user", example = "Vatsal", required = true) @ Reťazec RequestParam krstné meno) {Užívateľ užívateľ = nový Užívateľ (meno); návratový užívateľ; }
Pozrime sa na reprezentáciu používateľského rozhrania Swagger @ApiParam príklad:
Teraz sa pozrime na @ApiModelProperty.
4. @ApiModelProperty
The @ApiModelProperty anotácia umožňuje nám ovládať definície špecifické pre Swagger, ako napríklad popis (hodnota), názov, dátový typ, vzorové hodnoty a povolené hodnoty pre vlastnosti modelu.
Ponúka tiež ďalšie vlastnosti filtrovania pre prípad, že by sme chceli skryť vlastnosť v určitých scenároch.
Pridajme niekoľko vlastností modelu k Užívateľskékrstné meno lúka:
@ApiModelProperty (value = "meno používateľa", name = "meno", dataType = "reťazec", príklad = "Vatsal") reťazec meno;
Poďme sa teraz pozrieť na Používateľ Špecifikácie modelu v používateľskom rozhraní Swagger:
5. Záver
V tomto rýchlom článku sme sa pozreli na dve poznámky Swagger, ktoré môžeme použiť na pridanie metadát pre parametre a vlastnosti modelu. Potom sme pomocou týchto anotácií pozreli na ukážkový kód a videli sme ich zastúpenie v používateľskom rozhraní Swagger.
Všetky tieto ukážky kódu sú ako vždy k dispozícii na GitHub.
Java dole