apeman-app-rest v6.0.14
apeman-app-rest
apeman app to handle restful endpoint.
Installation
$ npm install apeman-app-rest --save
Usage
- Define an app within Apemanfile.js
- Call the app via apeman app command.
Apemanfile.js
/** This is an example Apemanfile to use apeman-app-rest */
'use strict'
const db = require('./db') // Apeman db modle instance
const { User } = db.models
module.exports = {
$pkg: { /* ... */ },
$apps: {
// Define your own app.
'my-app-01': {
// Map url and handlers.
'/': [
require('apeman-app-rest')(User, {
// Options
})
]
}
}
}
Then,
$ apeman app my-app-01 -p 3000
'use strict'
const apemanrequest = require('apemanrequest')
const co = require('co')
const assert = require('assert')
let request = apemanrequest.create({ jar: true })
co(function * () {
// Create a resource.
{
let res = yield request({
method: 'POST',
url: 'http://localhost:3000/user',
form: {
account_name: 'foo_bar',
email: 'apbc@example.com'
}
})
/* ... */
}
// Get a resource.
{
let res = yield request({
method: 'GET',
url: 'http://localhost:3000/user/1' // Pass resource id as url-param.
})
/* ... */
}
// List resource.
{
let res = yield request({
method: 'GET',
url: 'http://localhost:3000/user?account_name.$like=foo&limit=5&offset=5'
})
/* ... */
}
// Update the resource.
{
let res = yield request({
method: 'PATCH',
url: 'http://localhost:3000/user/1', // Pass resource id as url-param.
form: {
account_name: 'foo_bar2_updated'
}
})
/* ... */
}
// Destroy the resource.
{
let res = yield request({
method: 'DELETE',
url: 'http://localhost:3000/user/1' // Pass resource id as url-param.
})
/* ... */
}
}).catch((err) => {
console.error(err)
})
Signature
apemanAppRest(models, options) -> function
apeman app to handle restful endpoint.
Args
Name | Type | Default | Description | |
---|---|---|---|---|
models | object | Model objects. | ||
options | object | Optional settings. | ||
options.pathname | function | '/'+apemanmodel.toType(model) | Spec path name. | |
options.knock | Endpoint | boolean | ||
options.spec | Endpoint | boolean | ||
options.list | Endpoint | boolean | ||
options.create | Endpoint | boolean | ||
options.bulkUpdate | Endpoint | boolean | ||
options.bulkDestroy | Endpoint | boolean | ||
options.one | Endpoint | boolean | ||
options.update | Endpoint | boolean | ||
options.destroy | Endpoint | boolean | ||
options.relatedList | Endpoint | boolean | ||
options.relatedCreate | Endpoint | boolean | ||
options.relatedUpdateBulk | Endpoint | boolean | ||
options.relatedDestroyBulk | Endpoint | boolean | ||
options.relatedOne | Endpoint | boolean | ||
options.relatedUpdate | Endpoint | boolean | ||
options.relatedDestroy | Endpoint | boolean | ||
options.relationList | Endpoint | boolean | ||
options.relationCreate | Endpoint | boolean | ||
options.relationUpdate | Endpoint | boolean | ||
options.relationDestroy | Endpoint | boolean |
License
This software is released under the MIT License.
Links
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago