openapi-spec-validator icon indicating copy to clipboard operation
openapi-spec-validator copied to clipboard

How can I get a resolved json?

Open axpira opened this issue 5 years ago • 4 comments

I want to validate and get a json with all $ref resolved, how can I get this?

axpira avatar Jan 21 '20 19:01 axpira

OpenAPI 3.0 cannot process a JSON schema (as defined at json-schema.org), it uses a... superset of a subset of draft 04 of JSON schema... which also does references a little bit different. Lots of headaches for everyone... good news is that this might change with the coming OpenAPI 3.1.

See 1, 2 and 3 for more information.

So you might want to check first that the schemas you are referring to are valid OpenAPI 3.0 and not JSON Schema 0.5 or later.

HRogge avatar Jan 23 '20 09:01 HRogge

I want to do something similar: part of my openapi is sprend around multiple files, and the are referenced in the main file with "$ref", which is fine.

But I'd like to generate a single file representing that openapi, aka by replacing the content of each "$ref" by the content of the referenced file.

Is that possible with that lib? I couldn't find a way to make it happen.

Jiehong avatar Mar 10 '20 12:03 Jiehong

It isnt possible with this validator afaics. You may be able to achieve that by creating a script that uses https://github.com/p1c2u/openapi-core . If you want a CLI tool, I found https://github.com/kstasik/schema-tools (Rust) which can do this and quite a few other neat tricks. ~~- you will need my draft PR https://github.com/kstasik/schema-tools/pull/61 to get it building.~~

jayvdb avatar Dec 07 '22 03:12 jayvdb

Maybe have a look at the ResolvingParser on https://github.com/RonnyPfannschmidt/prance ?

wcloete avatar Jun 12 '23 14:06 wcloete