fortune-json-api v2.3.1
Fortune JSON API Serializer
This is a JSON API serializer for Fortune.js, which implements all of the features in the base specification, and follows the recommendations as much as possible.
$ npm install fortune fortune-http fortune-json-api
Usage
const http = require('http')
const fortune = require('fortune')
const fortuneHTTP = require('fortune-http')
const jsonApiSerializer = require('fortune-json-api')
// `instance` is an instance of Fortune.js.
const listener = fortuneHTTP(instance, {
serializers: [
// The `options` object here is optional.
[ jsonApiSerializer, options ]
]
})
// The listener function may be used as a standalone server, or
// may be composed as part of a framework.
const server = http.createServer((request, response) =>
listener(request, response)
.catch(error => { /* error logging */ }))
server.listen(8080)
The options
object is as follows:
prefix
: hyperlink prefix. If this prefix starts with/
, then it will rewrite paths relative to the prefix. For example, a prefix valued/api
will handle requests at that route like/api/users/1
. Default:""
(empty string).inflectType
: pluralize and dasherize the record type name in the URI. Can be Boolean to enable/disable all inflections or an object specifying each type in specific with unreferenced types set to default, ex:{ faculty: false }
. Default:true
.inflectKeys
: camelize the field names per record. Default:true
.maxLimit
: maximum number of records to show per page. Default:1000
.includeLimit
: maximum depth of fields per include. Default:3
.bufferEncoding
: which encoding type to use for input buffer fields. Default:base64
.jsonSpaces
: how many spaces to use for pretty printing JSON. Default:2
.jsonapi
: top-level object mainly used for describing version. Default:{ version: '1.0' }
.castNumericIds
: whether to cast numeric id strings to numbers. Default:true
.
Internal options:
uriTemplate
: URI template string.allowLevel
: HTTP methods to allow ordered by appearance in URI template.
License
This software is licensed under the MIT license.
1 year ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 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
10 years ago