I’ve been wondering what the level of compatibility is between JSONForms and OpenAPI. I found GitHub - eclipsesource/jsonforms-swagger (which hasn’t been touched in 7 years), and I see that OpenAPI and JSONForms are both compatible with JSON schema, but haven’t been able to determine how, if at all, the two relate to each other.
Does anyone have any information more recent on integrating the two?
Hi @wayland ,
There is currently no explicit support implemented in JsonForms for OpenAPI. The project linked by you is archived and will not be updated anymore.
According to the Swagger documentation at Supported JSON Schema Keywords OpenAPI does the following in regards to Json Schema:
OpenAPI 3.0 uses an extended subset of JSON Schema Specification Wright Draft 00 (aka Draft 5) to describe the data formats. “Extended subset” means that some keywords are supported and some are not, some keywords have slightly different usage than in JSON Schema, and additional keywords are introduced.
Whether you can use JsonForms in regards to OpenAPI heavily depends on your use case. Most likely, not everything would work out of the box. However, as many keywords of Json Schema are the same or have very similar meaning, Json Forms might be able to render parts of an OpenAPI schema.
Oh, yes, I’m well aware that OpenAPI versions before 3.1.0 are not compatible with JSON Schema. However, I thought that’s what 3.1.0 was supposed to fix ( OpenAPI Specification 3.1.0 Released - OpenAPI Initiative ). I’m aware that the project is archived, but I couldn’t figure out whether that was because it was now unnecessary due to more recent versions of OpenAPI matching JSON Schema better – that’s the question I’m trying to answer.
The repository you found was an experiment conducted by two interns. There is no technical reason that it was closed, we simply did not need it ourselves anymore.
In general JSON Forms should work fine as a UI generator for JSON Schema contained within OpenAPI. If a specific pattern of JSON Schema common in OpenAPI is not well supported in JSON Forms then this can always be tackled with a custom renderer. Alternatively, should such a case even arise, we’ll definitely be happy to accept contributions.