api-req-builder
v0.1.2
Published
Utilities for api request and response
Readme
Api Request Builder
Package Info:
This is an utility of api request builder base on axios package. It make more easily to create new a http request and handling response.
- Read introduce axios
- More contribute to api-req-builder github repo
Installing Package:
npm install api-req-builderTable methods:
| Method name | Descriptions | Note | | ------------- | ------------- |------------- | | addConfig | Adding any config for a http request |Read axios config| | addParam | Adding single query param or path param specify key and value string |Content | | addParams | Adding object quey param or path param |Include 1 or more properties | | addHeader | Adding single header with key-value pair string |Content | | addHeaders | Adding object header with more properties |Content | | sendRequest | Create a http request and send it with all config added |Content |
Usage:
- import module
Api Request Builder
import { ApiRequestBuilder } from 'api-req-builder';- Create object
Api Request Builder:
const builder = new ApiRequestBuilder();- Create a http request
const response = builder
.addConfig('baseURL', 'http://localhost:9001')
.addConfig('method', 'get')
.addConfig('url', '/:version/customers/customer-core/{cgid}')
.addHeader('x-channel', 'mobile')
.addHeader('token', '123-abc')
.addHeaders({ 'x-metadata': '123123123', 'x-version': 1.9 })
.addParam(PARAM_TYPE.PATH, 'version', 'v1')
.addParam(PARAM_TYPE.PATH, 'cgid', '200101HYPHEN020235000CM3')
.addParam(PARAM_TYPE.QUERY, 'partyType', 'ORG')
.addParam(PARAM_TYPE.QUERY, 'cgid', '123123123')
.addParam(PARAM_TYPE.QUERY, 'transRef', 'LMBULK321')
.sendRequest();Note: You can declare a placeholder for path param in url endpoint like this
addConfig('url', '/:version/customers/customer-core/:cgid')or
addConfig('url', '/{version}/customers/customer-core/{cgid}')then assign value addParam method:
.addParam(PARAM_TYPE.PATH, 'version', 'v1')
.addParam(PARAM_TYPE.PATH, 'cgid', '200101HYPHEN020235000CM3')Publish package:
- npm run build
- npm publish