Needs at least Sails version 0.12.0 to work.
Sails JS hook which extends the features of the sails blueprint api. Inspired by the article "Best Practices for Designing a Pragmatic RESTful API".
# Get the latest release of sails-hook-simple-api
$ npm install sails-hook-simple-api --save
By default, configuration lives in sails.config.simpleapi
. The configuration key (simpleapi
) can be changed by setting sails.config.hooks['sails-hook-simpleapi'].configKey
.
Parameter | Type | Details |
---|---|---|
name | string |
The name of your api. Used e.g. for the x-powered-by -header. |
version | float |
The version of your api. Used e.g. for the x-powered-by -header. |
hostname | string |
The explicit hostname of your api. Used e.g. for the pagination urls. |
compression | boolean |
Compress the output of your api? Use true or false . If you do not specify, the output of your api will only be compressed if the api run in production environment. |
compressionOptions | `object | boolean` |
minify | boolean |
Minify the json output of your api? Use true or false . If you do not specify, the json output of your api will only be minified if your api run in production environment. |
methodOverride | boolean |
Enable the possibility to override the original http method? Use true or false . Defaults to false . |
parameterNameMethodOverride | string |
The name of the method override parameter to replace the original http method. Defaults to _method . |
headerNameMethodOverride | string |
The name of the method override header to replace the original http method. Defaults to X-Http-Method-Override . |
pretty | boolean |
Enables the possibility to override the minify setting by a custom parameter. Use true or false . Defaults to false . |
parameterNamePretty | string |
The name of the pretty parameter, if the pretty setting is enabled, to receive a favorite minify setting by an user. Possible settings are 1 , true , 0 or false . Defaults to pretty . |
defaultEnvelope | boolean |
The default envelope setting to show a response of data. Use true or false . Defaults to false . |
parameterNameEnvelope | string |
The name of the envelope parameter to receive a favorite envelope setting by an user. Possible settings are 1 , true , 0 or false . Defaults to envelope . |
envelopeResponseKey | string |
The name of the key which is used to envelope the return of the response data (if envelope is enabled). Defaults to response . |
jsonp | boolean |
Enables the possibility to send jsonp requests. Use true or false . Defaults to false . |
jsonpAutoEnvelope | boolean |
Enables the envelope setting automatically if a jsonp request sent. Use true or false . Defaults to true . |
parameterNameJsonp | string |
The name of the jsonp parameter to receive a favorite jsonp callback function name by an user. Defaults to callback . |
defaultPage | integer |
The default page number to show in the response from a find action. You can override this default setting individually for each model. Just add _config: { defaultPage: 1 } to your favorite model. Other models without an individual setting, use this default setting. Defaults to 1 . |
parameterNamePage | string |
The name of the page parameter to receive a favorite page by an user. Defaults to page . |
defaultLimit | integer |
The default number of records to show in the response from a find action. You can override this default setting individually for each model. Just add _config: { defaultLimit: 30 } to your favorite model. Other models without an individual setting, use this default setting. Defaults to 30 . |
parameterNameLimit | string |
The name of the limit parameter to receive a favorite limit per page by an user. Defaults to limit . |
maximumLimit | `integer | boolean` |
defaultPopulate | `boolean | string |
parameterNamePopulate | string |
The name of the populate parameter to receive a favorite populate setting by an user. Possible settings are 1 , true , 0 , false or a comma-separated string with certain associations. Defaults to populate . |
defaultPopulateLimit | integer |
The default number of populated records to show in the response from a find action. You can override this default setting individually for each model. Just add _config: { defaultPopulateLimit: 30 } to your favorite model. Other models without an individual setting, use this default setting. If the defaultPopulateLimit is nowhere set we use the defaultLimit . Defaults to defaultLimit . |
parameterNamePopulateLimit | string |
The name of the populate limit parameter to receive a favorite populate limit by an user. Defaults to populateLimit . |
maximumPopulateLimit | `integer | boolean` |
defaultSort | string |
The default sort of records to show in the response from a find or a findOne action. Pass the name(s) of (an) attribute(s) to get an individual sorting of the records. The default direction for each sort attribute is ascending, use a - before the attribute name for descending sort. Separate several sorts by a comma. Note: id matches automatically the primary key attribute. Have no fear to use unavailable attributes, they will be automatically ignored. You can override this default setting individually for each model. Just add _config: { defaultSort: 'id' } to your favorite model. Other models without an individual setting, use this default setting. Defaults to id . |
parameterNameSort | string |
The name of the sort parameter to receive a favorite sorting by an user. Defaults to sort . |
defaultFields | `string | boolean` |
parameterNameFields | string |
The name of the fields parameter to receive a favorite choice of the returned fields by an user. Defaults to fields . |