@repercept/api-response
v1.0.0
Published
api resposne constructor
Downloads
11
Maintainers
Readme
API Response
Install
npm install --save @repercept/api-response
Getting Started
Success response
const APIResponse = require('@repercept/api-response')
let apiResp = new APIResponse()
APIResponse.data = {"status": "ok"}
apiResp.serialize() // {"item": {"status": "ok"}}
APIResponse.data = [{"id": 1}, {"id": 2}]
apiResp.serialize() // {"items": [{"id": 1}, {"id": 2}]}
Error response
const APIResponse = require('@repercept/api-response')
let apiResp = new APIResponse()
let err = new Error()
APIResponse.addError(err)
apiResp.serialize() // {"errors": [{code: "UNKNOWN", message: "detailed stack trace...."}]}
Add customized error
let apiResp = new APIResponse()
APIResponse.addError({code: "BAD_REQUEST", message: "bad request"})
apiResp.serialize() // {"errors": [{code: "BAD_REQUEST", message: "bad request"}]}
AWS API Gateway Response
const APIResponse = require('@repercept/api-response')
let apiResp = new APIResponse()
APIResponse.data = {"status": "ok"}
apiResp.apiGateway().serialize(200, {"accept": "appliation/json"})
// {statusCode: 200, body: "{\"status\": \"ok\"}", headers: {"accept": "appliation/json"}}
If you want to return html content
const APIResponse = require('@repercept/api-response')
let apiResp = new APIResponse()
APIResponse.data = "<html>"
apiResp.apiGateway().serialize(200, {"Content-Type": "text/html"})
// {statusCode: 200, body: "<html>", headers: {"accept": "appliation/json"}}
API Reference
Classes
Typedefs
APIResponse
Class APIResponse constructor
Kind: global class
apiResponse.addError(err) ⇒ APIResponse
Add an error object to the api response
Kind: instance method of APIResponse
| Param | Type | Description | | --- | --- | --- | | err | Error | APIError | The handcrafted error object or nodejs native Error object |
apiResponse.apiGateway() ⇒ APIGatewayResponse
returns an instance of APIGatewayResponse
Kind: instance method of APIResponse
apiResponse.serialize() ⇒ APIErrorResponse | APISuccessListResponse | APISuccessResponse
serialize the api response to a json object
Kind: instance method of APIResponse
APIGatewayResponse
Class APIGatewayResponse constructor
Kind: global class
new APIGatewayResponse(apiResponse)
| Param | Type | | --- | --- | | apiResponse | APIResponse |
apiGatewayResponse.serialize(statusCode, headers)
serialize the api response to a json object which will be used by AWS API Gateway
Kind: instance method of APIGatewayResponse
| Param | Type | | --- | --- | | statusCode | number | | headers | Object |
APIError : Object
Kind: global typedef
Properties
| Name | Type | Description | | --- | --- | --- | | code | string | The code of the error | | message | string | The description of the error |
APISuccessListResponse : Object
Kind: global typedef
Properties
| Name | Type | Description | | --- | --- | --- | | items | Array | A list of items to return |
APISuccessResponse : Object
Kind: global typedef
Properties
| Name | Type | Description | | --- | --- | --- | | item | Object | An item to return |
APIErrorResponse : Object
Kind: global typedef
Properties
| Name | Type | Description | | --- | --- | --- | | errors | Array | Contains a list of API Errors |