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. It is tested against Fortune.js version 3.x
.
$ npm install fortune-json-api
const http = require('http')
const fortune = require('fortune')
const jsonApiSerializer = require('fortune-json-api')
// `instance` is an instance of Fortune.js.
const listener = fortune.net.http(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(listener)
server.listen(8080)
The options
object is as follows:
prefix
: hyperlink prefix, without trailing slash. Default:""
(empty string).inflectType
: pluralize the record type name in the URI. 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
.
Internal options:
uriTemplate
: URI template string.allowLevel
: HTTP methods to allow ordered by appearance in URI template.
This software is licensed under the MIT license.