JSPM

@omnigraph/json-schema

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 77889
  • Score
    100M100P100Q160032F
  • License MIT

Package Exports

  • @omnigraph/json-schema
  • @omnigraph/json-schema/package.json

Readme

JSON Schema (@omnigraph/json-schema)

This package generates GraphQL Schema from JSON Schema and sample JSON request and responses. You can define your root field endpoints like below in your GraphQL Config for example;

schema:
  myOmnigraph:
    loader: '@omnigraph/json-schema'
    # The base URL of your following endpoints
    endpoint: http://www.my-api.com
    # The headers will be used while downloading JSON Schemas and Samples
    schemaHeaders:
      Content-Type: application/json
    # The headers will be used while making requests via HTTP
    operationHeaders:
      Accept: application/json
      Content-Type: application/json
      Authorization: Bearer TOKEN
    # Endpoints
    operations:
      # Root Type
      - type: Query
        # The Field Name in the specified Root Type
        field: me
        # Description
        description: My Profile
        # The relative URL to the defined `endpoint`
        path: /user/{args.id} # args will generate an argument for the field and put it here automatically
        # The HTTP method
        method: GET
        # The path of the relevant JSON Schema for the return type
        responseSchema: ./json-schemas/user.json#/definitions/User
      - type: Mutation
        field: createUser
        path: /user
        method: PUT
        # A JSON sample file for the request body
        requestSample: ./json-samples/user-input.json
        # GraphQL type name for the request body
        requestTypeName: CreateUpdateUser
        # A JSON sample file for the response body and it points to the specific definition using JSON Pointer pattern
        responseSchema: ./json-schemas/user.json#/definitions/User