mock-json-response v1.0.9
mock-json-response
A flexible RESTful API provider for front end developers to mock server response. The basic idea of this project is to provide ready to use tool to mock a given response.
Installation
Use the package manager npm to install mock-json-response.
npm install mock-json-response
Usage
const logicDirectory = __dirname + '/logic';
const dataDirectory = __dirname + '/data';
require('mock-json-response')(logicDirectory, dataDirectory)
Directory address of both logic and data should be passed to mock-json-response. On successful start mock-json-response will be listening to 3000 port (by default).
functions directory
This contains JS files that would have 3 sections: 1. logic: A function that would get the data and request object, ani kind of data manipulation can be performed. 2. request: This object defines "method": type of request (GET, POST, PATCH, DELETE) and "urlPath": Path of the request as fields. 3. response: This object defines response status and response data.
data directory
This contains JSON files with raw response.
Request
Possible fields of the request object
{
method: "GET", //type of request
urlPath: "/mock/test", //path of the request
headers: {
"x-mock": { //header keys
contains: "error", //matchers to match the incoming header value to passed value
},
"x-purchase": {
equalTo: "mock"
}
},
}
Response
Possible fields of the response object. If both inlineData and bodyFileName is present inlineData will take precedence.
{
status: 200, //status to be returned
headers: { //headers in response
"Content-Type": "application/json",
},
inlineData: { //a way to pass raw data inline
test: 'inline data'
},
bodyFileName: "data.json" //name of the file with raw json data
}
logic
logic: function ({ headers, params }, { data }) {
//data manipulation logic goes here
}
Contributing
Pull requests are welcome. For major changes or features, please open an issue first to discuss what you would like to change.
Why MJR?
- Request Matching
- Response Manipulating
Git book
For more information and detailed explanation. Please visit: gitbook