This is an utility of api config 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-config-builder github repo
npm install api-config-builder
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 |
- import module
Api Config Builder
import ApiRequestBuilder from 'api-config-builder';
- Create object
Api Config 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')
- npm run build
- npm publish