restful-client
RESTful client with javascript,Redux is supported,you could use it in all of javascript projects especially React and React Native.
Install
$ npm install mkp-restful-client --save
Quick Start
//import RESTful client;//initial RESTful client//default client is fetchlet rest=; window$rest=rest; //request a jsonrest
Client
There have two client fetch and superagent , fetch is default client.
let rest=;
or
let rest= clientEngine: name:"fetch" client:fetch ;
code with superagent following
;let rest= clientEngine: name:"superagent" client:superagent ;
RESTful client Events
- beforeSend(requestConf[,dispatch]) - invoke before request , you can override the request options in this time.
- sending(requestConf,xhr[,dispatch]) - immediately invoke when the request is sent.
- received(requestConf,response,xhr[,dispatch]) - immediately invoke when the response is return.
- success(response[,dispatch]) - invoke when request is successful.
- error(err[,dispatch]) - invoke when request error is occurred.
- complete(requestConf[,dispatch]) - invoke when all of them is done.
- normalizeResponse(response) - normalize response
let rest = { //you can override response //example //return response.json().then(json=>{ // response.body=json; // return response; //}); //or //response.data=response.body.Data; //return response; } { //you could override the opstions //such as combine url //options.url=host+options.url; //do somethings } { //you could show a loading or store xhr and so on //do somethings } { //if show a loading at sending , you must remove that in here. //do somethings } { //how to read response header's values? //example: //response.header["HEADER_NAME"] //in addtion you can read response.text , response.body and so on. //you can inspect these property through console. //do somethings } { //do somethings } { //do somethings }
Methods
request(requestConf[,dispatch])
the method will return a promise object.
- requestConf.url - request url
- requestConf.type - request method , the default value is 'get'.
- requestConf.headers - http headers
- requestConf.data - request data
- dispatch - you could specify the parameter when redux is available.