Teknobench

Bailíochtóir Scéimre JSON

Bailíochtaigh doiciméad JSON i gcoinne Scéimre JSON i do bhrabhsálaí. Liostaítear gach earráid lena cosán cáis, eochairfhocal agus cosán scéimre.

Conas JSON a bhailíochtú i gcoinne scéimre

  1. Greamaigh do scéimre in Scéimre JSON agus do shonraí in Doiciméad JSON, nó roghnaigh cás réamhdhéanta ó Sampla.
  2. Fág Dréacht ar Uathoibríoch ($schema) chun an leagan a ainmníonn $schema na scéimre a úsáid, nó cuir dréacht 4, 7, 2019-09 nó 2020-12 i bhfeidhm.
  3. Ritheann an bailíochtú agus tú ag clóscríobh; ritheann Bailíochtaigh arís é. Athghlúineann Formáidigh an dá cheann an dá théacs.
  4. Léigh an toradh: líne ghlas nuair atá an doiciméad bailí, nó tábla earráidí seachas sin.

Tábhachtach: tá teachtaireachtaí earráide an bhailíochtóra i mBéarla.

An tábla earráidí a léamh

Is riail theipthe í gach sraith:

  • Is Pointeoir JSON é Cosán an cháis chuig an luach a theip. Is é /roles/1 an dara mír de roles; is é (fréamh) an doiciméad iomlán.
  • Is é Eochairfhocal an riail scéimre a theip: type, required, minimum, pattern, format, additionalProperties agus mar sin de.
  • Míníonn Teachtaireacht an teipeadh, mar shampla 0 is less than 1.
  • Díríonn Cosán na scéimre ar an eochairfhocal taobh istigh den scéimre, mar /properties/id/minimum, ionas gur féidir leat an riail a aimsiú go tapa.

Ní stopann an bailíochtú ag an gcéad fhadhb: liostaítear gach earráid. Nuair a theipeann ar mhaoin réada, tuairiscíonn an bailíochtóir achoimre (“Property “id” does not match schema”) agus an chúis chruinn ina diaidh. Folaíonn Taispeáin na hearráidí is sonraí amháin na hachoimrí sin; díthiceáil é chun an slabhra iomlán a fheiceáil. Coinnítear earráidí faoi anyOf agus oneOf le chéile i gcónaí le hearráidí sonracha gach brainse, mar nach bhfuil brí leo ach le chéile.

An méid a dtacaítear leis

  • Dréachtaí: 4, 6 (bailíochtaithe le rialacha draft 7), 7, 2019-09 agus 2020-12, $defs/definitions, $ref áitiúil, if/then/else, dependentRequired, dependentSchemas, prefixItems, unevaluatedProperties agus unevaluatedItems san áireamh.
  • Formáidí: seiceáiltear date, time, date-time, duration, email, hostname, ipv4, ipv6, uri, uri-reference, uri-template, uuid, regex, json-pointer agus relative-json-pointer. Déantar neamhaird d’fhormáidí anaithnide, mar a cheadaíonn an tsonraíocht.
  • Tagairtí: is féidir le $ref díriú áit ar bith laistigh den scéimre, $id a dhearbhaíonn sí san áireamh. Ní íoslódáiltear scéimeanna cianda riamh; tuairiscítear tagairt do URL eile mar neamhréitithe.

Bailíochtaíonn an uirlis seo doiciméid i gcoinne do scéimre. Ní sheiceálann sí go leanann an scéimre féin an meiteascéimre, ach tugann sí rabhadh faoi ainmneacha type anaithnide mar "strin" nó "int", botún clóscríofa coitianta a ndéanann bailíochtóirí neamhaird shiléalta de ar shlí eile.

Na samplaí

  • Próifíl úsáideora (2020-12): required, faid sreinge, format: email, enum taobh istigh de items, uniqueItems agus additionalProperties: false.
  • Liosta táirgí le $ref (draft-07): eagar a thagraíonn a mhíreanna do #/definitions/product, le pattern don SKU agus praghas exclusiveMinimum.
  • Cumraíocht le if/then (2019-09): deimhniú nach bhfuil ag teastáil ach i mód HTTPS, oneOf idir ríomhphost agus URI, agus teorainneacha uimhriúla.

Tagann doiciméad le botúin d’aon ghnó le gach sampla, ionas gur féidir leat a fheiceáil cén cuma atá ar na hearráidí.

Ceisteanna coitianta

An uaslódáiltear mo shonraí?

Ní uaslódáiltear. Bailíochtaítear an scéimre agus an doiciméad i do bhrabhsálaí; ní sheoltar aon rud chuig freastalaí.

Cén fáth a bhfuil $ref mo scéimre "neamhréitithe"?

Níl aithne ag an mbailíochtóir ach ar an scéimre a ghreamaigh tú. Ní féidir $ref chuig comhad nó URL eile a leanúint; cóipeáil na sainmhínithe tagartha isteach i $defs agus díriú ar #/$defs/… ina ionad.

Cén dréacht ba cheart dom a úsáid?

Úsáid an ceann a dhíríonn do thionscadal air, agus dearbhaigh é le $schema. Do scéimeanna nua, is é 2020-12 an leagan reatha; úsáideann OpenAPI 3.1 é freisin.

Cén fáth a ndiúltaíonn integer do 2.0?

Ní dhiúltaíonn: caitheann Scéimre JSON le 2.0 mar shlánuimhir mar gur luach iomlán é. Teipeann 2.5 ar "type": "integer".

An n-oibríonn sé as líne?

Oibríonn. Nuair atá an leathanach lódáilte agus tú tar éis an chéad bhailíochtú a rith (a lódálann an bailíochtóir), ní theastaíonn aon cheangal.