resourcejs
Version:
A simple Express library to reflect Mongoose models to a REST interface.
194 lines (193 loc) • 6.24 kB
JSON
{
"definitions": {
"resource1": {
"title": "resource1",
"properties": {
"title": { "type": "string" },
"name": { "type": "string" },
"age": { "type": "integer", "format": "int64" },
"description": { "type": "string" },
"list": {
"type": "array",
"title": "list",
"items": { "$ref": "#/definitions/list" }
},
"list2": { "type": "array", "items": { "type": "string" } },
"_id": { "type": "string", "description": "ObjectId" }
}
},
"list": {
"title": "list",
"properties": {
"label": { "type": "string" },
"data": { "type": "array", "items": { "type": "string" } }
}
}
},
"paths": {
"/test/resource1": {
"get": {
"tags": ["resource1"],
"summary": "List multiple resource1 resources.",
"description": "This operation allows you to list and search for resource1 resources provided query arguments.",
"operationId": "getresource1s",
"responses": {
"200": {
"description": "Resource(s) found. Returned as array.",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/resource1" }
}
},
"401": { "description": "Unauthorized." }
},
"parameters": [
{
"name": "skip",
"in": "query",
"description": "How many records to skip when listing. Used for pagination.",
"required": false,
"type": "integer",
"default": 0
},
{
"name": "limit",
"in": "query",
"description": "How many records to limit the output.",
"required": false,
"type": "integer",
"default": 10
},
{
"name": "sort",
"in": "query",
"description": "Which fields to sort the records on.",
"type": "string",
"required": false,
"default": ""
},
{
"name": "select",
"in": "query",
"description": "Select which fields will be returned by the query.",
"type": "string",
"required": false,
"default": ""
},
{
"name": "populate",
"in": "query",
"description": "Select which fields will be fully populated with the reference.",
"type": "string",
"required": false,
"default": ""
}
]
},
"post": {
"tags": ["resource1"],
"summary": "Create a new resource1",
"description": "Create a new resource1",
"operationId": "createresource1",
"responses": {
"201": { "description": "The resource has been created." },
"400": {
"description": "An error has occured trying to create the resource."
},
"401": {
"description": "Unauthorized. Note that anonymous submissions are *enabled* by default."
}
},
"parameters": [
{
"in": "body",
"name": "body",
"description": "Data used to create a new resource1",
"required": true,
"schema": { "$ref": "#/definitions/resource1" }
}
]
}
},
"/test/resource1/{resource1Id}": {
"get": {
"tags": ["resource1"],
"summary": "Return a specific resource1 instance.",
"description": "Return a specific resource1 instance.",
"operationId": "getresource1",
"responses": {
"200": {
"description": "Resource found",
"schema": { "$ref": "#/definitions/resource1" }
},
"401": { "description": "Unauthorized." },
"404": { "description": "Resource not found" },
"500": { "description": "An error has occurred." }
},
"parameters": [
{
"name": "resource1Id",
"in": "path",
"description": "The ID of the resource1 that will be retrieved.",
"required": true,
"type": "string"
}
]
},
"put": {
"tags": ["resource1"],
"summary": "Update a specific resource1 instance.",
"description": "Update a specific resource1 instance.",
"operationId": "updateresource1",
"responses": {
"200": {
"description": "Resource updated",
"schema": { "$ref": "#/definitions/resource1" }
},
"400": { "description": "Resource could not be updated." },
"401": { "description": "Unauthorized." },
"404": { "description": "Resource not found" },
"500": { "description": "An error has occurred." }
},
"parameters": [
{
"name": "resource1Id",
"in": "path",
"description": "The ID of the resource1 that will be updated.",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "Data used to update resource1",
"required": true,
"schema": { "$ref": "#/definitions/resource1" }
}
]
},
"delete": {
"tags": ["resource1"],
"summary": "Delete a specific resource1",
"description": "Delete a specific resource1",
"operationId": "deleteresource1",
"responses": {
"204": { "description": "Resource was deleted" },
"400": { "description": "Resource could not be deleted." },
"401": { "description": "Unauthorized." },
"404": { "description": "Resource not found" },
"500": { "description": "An error has occurred." }
},
"parameters": [
{
"name": "resource1Id",
"in": "path",
"description": "The ID of the resource1 that will be deleted.",
"required": true,
"type": "string"
}
]
}
}
}
}