Főbb pontok
- 01Az Ajv által hajtva, a legszélesebben használt JavaScript JSON séma validátor — ami itt megfelel, megfelel a Node.js-ben, Fastify-ben és a legtöbb JS eszköztárban.
- 02Működik meg minden validálási hibát egyszerre (allErrors mód), nem csak az első kudarc.
- 03Minden hiba tartalmazza a JSON mutató útját a sikertelen mező gyors navigálásához.
- 04Mind a séma, mind az adatok teljes egészében a böngészőben futnak — semmi nincs feltöltve.
Miért validálj JSON-t egy séma alapján?
A JSON séma a standard módja a JSON dokumentum formájának leírásához — szükséges mezők, megengedett típusok, érték korlátok, beágyazott objektum szerkezetek. Az adattartalom eléréséhez a termelésbe szchemán alapuló validálás korán fogjában a típuseltéréseket, a hiányzó szükséges mezőket és a korlát megsértéseket, mikor olcsó kijavítani.
A leggyakoribb felhasználási esetek az API kérés és válasz testek tesztelése, konfigurációs fájlok validálása, OpenAPI példa objektek ellenőrzése és adatok exportok validálása egy ismert szerkezet alapján. A Handytool validátor az Ajvt használja — a de-facto JavaScript JSON séma könyvtárat, amelyet a Node.js-ben használnak — így az eredmények itt megegyeznek azzal, amit a háttér fog látni.
Hogyan validálj JSON-t egy séma alapján
- 01
Illeszd be a JSON sémát
Illeszd be a sémát a bal panelbe. Ez lehet egy Draft 7, 2019-09 vagy 2020-12 séma a típussal, tulajdonságokkal, szükségesvel, elemekkel, anyOf, allOf — az opcionális Ajv-supported kulcsszóval.
- 02
Illeszd be a JSON adataid
Illeszd be az adatok dokumentumot, amelyet validálni szeretnél a jobb panelbe. Ez az instancia — egy API kérés teszt, egy config objektum, egy export rekord vagy egy egyedüli példa az OpenAPI specből.
- 03
Kattints Validálj
Az Ajv futtatja a validálást allErrors: true beállítással, ami azt jelenti, hogy minden kudarcot gyűjt, ahelyett, hogy az elsőnél leállt volna.
- 04
Tekintsd meg a hibalistát
Minden hiba megjeleníti a JSON mutató útját a sikertelen értékhez (pl. /user/email), a sikertelen kulcsszót (type, required, minimum) és egy emberolvasható üzenetet. Javítsd meg az egyes hibákat, és validálj újra.
Mit validálnak a fejlesztők JSON séma alapján
- 01REST API kérés testek — erősítsd meg az adattartalmat az végpont várt formájához illeszkedik a küldés előtt.
- 02OpenAPI spec példa objektek — validálj minden példát az beágyazott séma komponensei alapján.
- 03Konfigurációs fájlok — biztosítsd az szükséges kulcsok jelenléte és az értékek helyes típusa.
- 04Adatok nyomvonal rekordok — meglátni strukturális eltolódást az adatok termelők és fogyasztók között.
- 05Форма submission adattartalmak — test az frontend validálás megfelel a háttér séma korlátainak.
- 06Harmadik fél webhook testek — erősítsd meg a dokumentált séma megegyezik az valódi adattartalommal.
Magánjellegű Validálás, Nincs Szerver Szükséges
Az Ajv teljes egészében a böngészőben fut. Sem a séma, sem az adatok nem kerülnek szerverhez — biztonságosan validálhatsz sémákat, amelyek a belső adatok szerkezetét leírják, és adatok objektumokat, amelyek bizalmas mező értékeket tartalmaznak.
Az validátor támogatja a JSON séma vázlatokat 6, 7, 2019-09 és 2020-12. A leggyakoribb vázlat a vadonban a Draft 7, amely az összes hétköznapi kulcsszót lefedi: type, properties, required, items, minimum, maximum, pattern, enum, anyOf, allOf, oneOf, not és $ref.
JSON Séma Validátor GYIK
Mely JSON séma vázlatok támogatottak?
Az Ajv támogatja a 6, 7, 2019-09 és 2020-12 vázlatokat. A Draft 7 a leggyakoribb az létező kódháznál, és az összes szabványos kulcsszót lefedi.
Miért nem oldódik fel az én $ref sémám?
A külső $ref URL-ek nincsenek lekérve ebben a böngészőben módban. Beágyazz az összes hivatkozott sémát $defs és helyi JSON mutatók használatával, mint a #/$defs/MyType.
Az én sémám vagy adatom feltöltésre kerül bármilyen szerverhez?
Nem. Az Ajv teljes egészében a böngészőben fut — mind a séma, mind az adatok az eszközödön maradnak.
Használhatom ezt egy OpenAPI 3 spec validálásához?
Validálhatod az egyes séma komponenseket és példa objektumokat. Az egész OpenAPI dokumentum validálásához egy dedikált OpenAPI validátor szükséges, amely érti a spec meta-sémáját.
Miért látok több hibát, ahelyett, hogy az elsőt látná?
Az validátor az allErrors: true beállítással van konfigurálva, amely az Ajvot az összes hiba gyűjtésére és az elsőnél leállt helyett. Ez szándékos — az összes problemát egy menetben kijavíthatod, ahelyett, hogy ismételt validálási kísérleteket tennél.