npm.io
1.1.1 • Published 8 years ago

loopback-jsonschema-generator

Licence
ISC
Version
1.1.1
Deps
1
Size
34 kB
Vulns
0
Weekly
0
Stars
2

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/

Keywords