Adjon meg egy karakterlánc-tömböt törzsparaméterként a Swagger-ben

1. Áttekintés

A Swagger a REST API-k dokumentálására és leírására szolgáló specifikációk összessége. Ezenkívül példákat ad a végpont paramétereire.

Ebben az oktatóanyagban megmutatjuk, hogyan állítsunk elő egy alapértelmezett példaértéket Húr tömbök, mivel ez a viselkedés alapértelmezés szerint nincs engedélyezve.

2. Adjon meg egy karakterlánc-tömböt törzsparaméterként a Swaggerben

A kérdés akkor merül fel, amikor a Strag tömböt meg akarjuk adni törzsparaméterként a Swaggerben.

A Swagger alapértelmezett példaértéke kissé átlátszatlan, amint azt a Swagger szerkesztőben láthatjuk:

Tehát itt azt látjuk, hogy Swagger nem igazán mutat példát arra, hogy a tömb tartalmának hogyan kell kinéznie. Nézzük meg, hogyan adhatunk hozzá egyet.

3. YAML

Először a stringek tömbjének megadásával kezdjük a Swaggerben a YAML jelölés használatával. A séma szakaszban felvesszük típus: tömb val vel elemek Húr.

Az API jobb dokumentálásához és a felhasználó utasításához használhatjuk a példa az értékek beszúrásának címkéje:

paraméterek: - itt: törzsleírás: "" kötelező: igaz név: név séma: típus: tömb elemek: típus: karakterlánc példa: ["str1", "str2", "str3"]

Nézzük meg, hogy a kijelzőnk most hogyan informatívabb:

4. Springfox

Vagy ugyanazt az eredményt érhetjük el a Springfox segítségével.

Használnunk kell a adattípus és példa az adatmodellben @ApiModel és @ApiModelProperty kommentárok:

@ApiModel public class Foo {private long id; @ApiModelProperty (név = "név", dataType = "Lista", példa = "[\" str1 \ ", \" str2 \ ", \" str3 \ "]") privát Lista neve;

Ezt követően meg kell jegyeznünk a Vezérlő hogy Swagger az adatmodellre mutasson.

Tehát, használjuk @ApiImplicitParams azért:

@RequestMapping (metódus = RequestMethod.POST, value = "/ foos") @ResponseStatus (HttpStatus.CREATED) @ResponseBody @ApiImplicitParams ({@ApiImplicitParam (név = "foo", érték = "Karaktersorozatok listája", paramType = " ", dataType =" Foo ")}) public Foo create (@RequestBody final Foo foo) {

És ez az!

5. Következtetés

A REST API-k dokumentálásakor lehetnek paramétereink, amelyek string tömbök. Ideális esetben ezeket dokumentálnánk a Példaértékekkel.

Megtehetjük ezt Swaggerben a példa ingatlan. Vagy használhatjuk a példa annotation attribútum a Springfox-ban.

Mint mindig, a kód elérhető a GitHubon.