Skip to content

Support Bundling json schema #2334

Open
@roy20021

Description

@roy20021

Is your feature request related to a problem? Please describe.

Hello,

I have an endpoint returning a "compound document schema" so a bundling of many schemas and I would like to render the related form accordingly.

References:

  1. https://json-schema.org/understanding-json-schema/structuring#bundling
  2. https://json-schema.org/blog/posts/bundling-json-schema-compound-documents

JsonSchema Example (from links above):
{ "$id": "https://example.com/schemas/customer", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "shipping_address": { "$ref": "/schemas/address" }, "billing_address": { "$ref": "/schemas/address" } }, "required": ["first_name", "last_name", "shipping_address", "billing_address"], "$defs": { "address": { "$id": "/schemas/address", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "street_address": { "type": "string" }, "city": { "type": "string" }, "state": { "$ref": "#/definitions/state" } }, "required": ["street_address", "city", "state"], "definitions": { "state": { "enum": ["CA", "NY", "... etc ..."] } } } } }

Data:
{ "first_name": "FirstName", "last_name": "LastName", "shipping_address": { "street_address": "StreetAddress", "city": "City", "state": "NY" }, "billing_address": { "street_address": "StreetAddress2", "city": "City2", "state": "CA" } }

Currently, only "first_name" and "last_name" are displayed. Instead, "shipping_address" and "shipping_address" are not shown at all.

Describe the solution you'd like

I would like that JsonForm works properly and render the form according to the given json schema and data

Describe alternatives you've considered

I have tried to use json-refs and json-schema-ref-parser as preprocessing the schema but it is already fine.

Framework

Vue

RendererSet

Vanilla

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions