2016-04-20 41 views
6

Sono un neofita della spavalderia, dei contratti e del lavoro sul progetto Spring boot (gradle) in cui stiamo iniziando a gestire i contratti. Ho usato i graal, amo come puoi mettere i field defs nel Domain e viene ereditato attraverso lo stack.swagger 2 spring boot genera il file yml

Una domanda specifica e forse anche una domanda di splanazione con piggy.

Come è possibile generare lo stub di base di un file YAML dalla classe controller standard?

ho capito dovrei creare un [Nome] File -v1-0.yml nella directory controller\src\test\resources

Ho implementato la spavalderia-ui.html nel progetto e un davvero cool interattivo viene visualizzata una pagina Web che mostra gli endpoint e gli oggetti della richiesta. Utilizzando un class SwaggerConfig extends WebMvcConfigurerAdapter che funziona per pubblicare le interfacce nella pagina Web di ui json doc.

Credo che la comprensione sia che il file yml nella directory delle risorse di test sarà una generazione fissa dei "contratti" e utilizzata in una sorta di metodo di test gradle per assicurarsi che la firma dell'API ei punti del contratto non siano cambiati, come un test in stile junit di base dell'interfaccia. (Sì/no?)

Sono pigro qui pensando a me stesso, perché sto mano hacking questo stupido file? È possibile generare uno skeleton doc yaml per me piuttosto semplice dal controller/dettagli del modello?

Per esempio sulla pagina prende un file YML e fa il ui friendly page: http://editor.swagger.io/#/

C'è davvero una bella "uber" file YAML di esempio in quella pagina, ne ho veramente bisogno di scrivere che, ho già ha scritto il Controller, javadoc, annotato, tutti i tipi di cose interessanti che dovrebbero essere in grado di generare almeno un bel stub iniziale dello yaml, (do la colpa ai graal per non voler hackerare questo!) che è naturalmente prima di inserire annotazioni SpringFox che fanno cose più interessanti e se ne vanno davvero in città per guidare di più questo test di garanzia del contratto.

FYI: 'spring-boot-starter-web' 'spring-boot-starter-test' 'springfox-swagger-ui', version: '2.4.0'

risposta

6

ho capito. Molto semplice, perché non l'ho visto da nessuna parte. :)

Copia/incolla il percorso delle risorse nel browser:

http://localhost:8095/v2/api-docs?group=full-api

selezionare il contenuto generato e copiare negli appunti.

Aprire l'Editor Swagger in un browser:

http://editor.swagger.io

Selezionare Incolla JSON ... dal menu File.

Incollare il contenuto generato di Swagger JSON e fare clic su Importa.

+0

sono in grado di generare il JSON utilizzando questo.ma sto ricevendo il seguente errore .. Errore swagger Non una definizione di parametro valida, nessuna idea come posso risolvere l'errore e gli avvertimenti? – Jobin

+0

Incredibile ...! Stavo facendo il manuale prima .... – Shamseer