Skip to content

chrisandrews7/loopback-jsonschema-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Loopback JSON Schema Generator

Build Status Coverage Status npm version

Generates JSON schemas for your LoopBack models

Installing

npm install loopback-jsonschema-generator

Setup

Initialising

Add the following configuration to component-config.js inside your loopback project

{
  "loopback-jsonschema-generator": {},
  "..."
}

Configuration options

  • schema - JSON Schema specification
  • url - Url to access each JSON schema endpoint, defaults to 'json-schema'
{
  "loopback-jsonschema-generator": {
    "schema": "http://json-schema.org/draft-04/schema",
    "url": "json-schema"
  },
  "..."
}

Using

Define a model inside loopback as normal

# products.json
{
    "name": "Products",
    "base": "PersistedModel",
    "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "required": true
        }
    },
    "validations": [],
    "relations": {},
    "acls": [],
    "methods": {}
}

Access the generated JSON schema url

http://yourapi.com/api/products/json-schema

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Products",
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "title": "Name"
      }
    },
    "required": [
      "name"
    ]
}

Programmatic access to the json schema

A property is added onto each model under model.jsonSchema

// Model file
module.exports = function(Products) {
  const jsonSchema = Products.jsonSchema;
  //...
};

References

http://json-schema.org/