2016-01-18 17 views
6

Buduję API REST przy użyciu Spring Boot i [jackson-module-jsonSchema] (https://github.com/FasterXML/jackson-module-jsonSchema) dla generowania schematu JSON. Szukam najlepszego sposobu sprawdzania poprawności ładunku JSON żądania docierającego do punktów końcowych mojego interfejsu API (kontrolerów Spring) w stosunku do zdefiniowanego schematu JSON zdefiniowanego dla narażonego zasobu, sprawdzanie poprawności obejmuje sprawdzanie wymaganych pól, formatu, wartości minimalnych i maksymalnych itd. wszystko, co możemy sprawdzić na podstawie schematu.Weryfikacja schematu Json w Spring REST APIs

Wygląda, że ​​moduł schematu jackson json jest przydatny do generowania schematu, ale nie do sprawdzania poprawności, czy mam rację? Jakieś sugestie, jak osiągnąć to, co próbuję zrobić?

+0

AFAIK Jedyną rzeczą, która może wykonać walidację schematu json jest projekt: https://github.com/fge/json-schema-validator, który szuka teraz nowego opiekuna. Spójrz na to. –

+0

zobacz także http://bolerio.github.io/mjson/ – user252690

Odpowiedz

5

Jeśli spojrzeć na JSON schema site, istnieją tylko dwie biblioteki do sprawdzania poprawności w Javie.

  1. ONT że Jorge Campos sugerowane jest dojrzały, ale szuka nowego opiekuna: https://github.com/fge/json-schema-validator
  2. drugi jest stosunkowo nowe: http://github.com/everit-org/json-schema

Byłem niedawno w sytuacji, gdy miałem do wyboru jednego lub drugi i wybrałem pierwszą opcję. Jest on również używany przez bibliotekę Rest Assured pod maską.

+0

dzięki za odpowiedź @luboskrnac Próbowałem https://github.com/fge/json-schema-validator i wygląda dobrze, podczas testowania zdałem sobie sprawę, że jackson generuje schemat JSON v3, a walidator wychwytuje wersję v4, rozważam zmianę Jackson na inną bibliotekę, czy masz jakieś sugestie? – Alec

+2

mJson również w pełni obsługuje sprawdzanie poprawności schematu i jest o wiele prostsze w użyciu niż powyższe: http://bolerio.github.io/mjson/ – user252690