Closed sirex closed 1 month ago
https://github.com/ivpk/uapi/blob/f18e83a5d49e756bd6ef17022686a8d2d331bca4/openapi/components/schemas/object.yaml#L27-L32
Šioje vietoje, reikėtų aprašyti visus variantus, pagal galimus duomenų tipus. Galimų tipų sąrašas yra čia:
https://atviriduomenys.readthedocs.io/dsa/duomenu-tipai.html
Reikia atkreipti dėmesį, kad JSON reprezentacija priklauso ne tik nuo tipo, bet ir nuo brandos lygio, pavyzdžiui:
https://atviriduomenys.readthedocs.io/api/index.html#ir-zemesnis-brandos-lygis
patternProperties: ^[a-z](_?[a-z0-9]+)*$: oneOf: - $ref: ./string.yaml - $ref: ./integer.yaml - $ref: ./boolean.yaml - $ref: ./ref.yaml - $ref: ./backref.yaml - $ref: ./object.yaml - $ref: ./array.yaml # ...
Kur kiekvieno tipo schema gali būti skirtinga, pavyzdžiui ./string.yaml atveju: ./string.yaml:
./string.yaml
type: string
./integer.yaml:
type: integer
Reikia atkreipti dėmesį, kad schema gali skirtis priklausomai nuo brandos lygio, pavyzdžiui:
./ref.yaml:
oneOf: # level > 3 - type: object properties: _id: type: string patternProperties: ^[a-z](_?[a-z0-9]+)*$: oneOf: - $ref: ./string.yaml - $ref: ./integer.yaml - $ref: ./boolean.yaml - $ref: ./ref.yaml - $ref: ./backref.yaml - $ref: ./object.yaml - $ref: ./array.yaml # ... # level <= 3 - type: object patternProperties: ^[a-z](_?[a-z0-9]+)*$: oneOf: - $ref: ./string.yaml - $ref: ./integer.yaml - $ref: ./boolean.yaml - $ref: ./ref.yaml - $ref: ./backref.yaml - $ref: ./object.yaml - $ref: ./array.yaml # ...
Konkrečiai ref atveju, jei brandos lygis > 3, tada _id yra privalomas, jei brandos lygis <= 3, tada _id neprivalomas.
ref
_id
03-29 dienos Pull Request atnaujinta ir pridėti minėti duomenų tipai. Swagger įrankis rodo klaidas kuriant „self-reference“ iš „object“ į „object“, todėl ši eilutė yra užkomentuota.
https://github.com/ivpk/uapi/blob/f18e83a5d49e756bd6ef17022686a8d2d331bca4/openapi/components/schemas/object.yaml#L27-L32
Šioje vietoje, reikėtų aprašyti visus variantus, pagal galimus duomenų tipus. Galimų tipų sąrašas yra čia:
https://atviriduomenys.readthedocs.io/dsa/duomenu-tipai.html
Reikia atkreipti dėmesį, kad JSON reprezentacija priklauso ne tik nuo tipo, bet ir nuo brandos lygio, pavyzdžiui:
https://atviriduomenys.readthedocs.io/api/index.html#ir-zemesnis-brandos-lygis
Pavyzdžiai
Kur kiekvieno tipo schema gali būti skirtinga, pavyzdžiui
./string.yaml
atveju: ./string.yaml:./integer.yaml:
Reikia atkreipti dėmesį, kad schema gali skirtis priklausomai nuo brandos lygio, pavyzdžiui:
./ref.yaml:
Konkrečiai
ref
atveju, jei brandos lygis > 3, tada_id
yra privalomas, jei brandos lygis <= 3, tada_id
neprivalomas.