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.
Repository navigation
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://raw.githubusercontent.com/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
Activity
hauner commentedon Aug 22, 2021
validating of single files with
$refs does not work. It does not report errors$refpoints to a non-existing definitionThe validator seems to ignore
$refs.hauner commentedon Jun 1, 2022
internal openapi-processor/openapi-parser supports json schema validation with $refs.