2016-01-18 15 views
6

Sto costruendo un'API REST utilizzando Spring Boot e [jackson-module-jsonSchema] (https://github.com/FasterXML/jackson-module-jsonSchema) per la generazione dello schema JSON. Sto cercando il modo migliore per convalidare il carico utile JSON della richiesta che arriva agli endpoint delle mie API (controller Spring) rispetto allo schema JSON definito definito per la risorsa esposta, la convalida include i campi richiesti di controllo, il formato, i valori min e max, ecc. tutto ciò che possiamo validare contro lo schema.Convalida dello schema Json in Spring REST API

Sembra che il modulo schema di jackson json sia utile per la generazione dello schema ma non per la convalida, vero? Qualche suggerimento su come ottenere ciò che sto cercando di fare?

+0

AFAIK l'unica cosa che può fare una convalida dello schema JSON è il progetto: https://github.com/fge/json-schema-validator che ora sta cercando un nuovo manutentore. Dai un'occhiata a questo. –

+0

vedi anche http://bolerio.github.io/mjson/ – user252690

risposta

5

Se si dà un'occhiata a JSON schema site, ci sono solo due librerie per la convalida in Java.

  1. ONT che Jorge Campos suggerito è maturo, ma alla ricerca di nuovo manutentore: https://github.com/fge/json-schema-validator
  2. secondo è relativamente nuovo: http://github.com/everit-org/json-schema

Recentemente sono stato in situazione in cui ho dovuto scegliere uno o l'altro e ho scelto la prima opzione. Viene utilizzato anche dalla libreria Rest Assured sotto il cofano.

+0

grazie per la tua risposta @luboskrnac Ho provato https://github.com/fge/json-schema-validator e ho un bell'aspetto, al momento del test ho capito che Jackson sta generando lo schema JSON v3 e il validatore sta esaminando la bozza di v4, sto considerando di cambiare Jackson per altre biblioteche, hai qualche suggerimento? – Alec

+2

mJson supporta anche la convalida dello schema ed è molto più semplice da usare rispetto a quanto sopra: http://bolerio.github.io/mjson/ – user252690

Problemi correlati