You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 16, 2025. It is now read-only.
find errors in the openapi.yaml before the processor fails by validating the openapi.yaml with the json schema.
This is easy for a single fileopenapi.yml files.
Using jackson and json-schema-validator it basically works like this:
val mapper =ObjectMapper(YAMLFactory())
val tree = mapper.readTree(apiURL)
// setup validator to use json schema in yaml formatval factory =JsonSchemaFactory.Builder()
.objectMapper(mapper)
.defaultMetaSchemaURI(JsonMetaSchema.getV4().uri)
.addMetaSchema(JsonMetaSchema.getV4())
.build()
val schema30 =URI("https://github.com/raw/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.yaml")
val schema = factory.getSchema(schema30)
val validation = schema.validate(tree)
Unfortunately it doesn't work with an openapi.yaml that $refs into other files. To validate it, all $refd files need to be merged into the openapi.yaml file.
I didn't find any easily usable java code to do this :-(
What it should do:
add the file content to components:
in a nested x-key
in a nested file name based key so it is possible to know where the definitions com from
replace $ref to other file with $ref to `components/x-key/file-name#/type
Experimental code seems to work on simple $refs.
The text was updated successfully, but these errors were encountered:
find errors in the
openapi.yaml
before the processor fails by validating theopenapi.yaml
with the json schema.This is easy for a single file
openapi.yml
files.Using jackson and json-schema-validator it basically works like this:
Unfortunately it doesn't work with an
openapi.yaml
that$ref
s into other files. To validate it, all$ref
d files need to be merged into theopenapi.yaml
file.I didn't find any easily usable java code to do this :-(
What it should do:
components:
x-key
$ref
to other file with$ref
to `components/x-key/file-name#/typeExperimental code seems to work on simple
$ref
s.The text was updated successfully, but these errors were encountered: