Mocker is a node app that allows APIs to be stood up and exposed in minutes to allow UI to be developed without the need of a functioning back end.
npm install
import Mocker from './bin/Mocker';
// Or commonjs
const Mocker = require("./bin/Mocker");
npm start
npm run dev
const mocker = new Mocker(); // Mocker Instance
mocker.get("/healthcheck", () => ({status: "success"})); // Get Request + Response
mocker.start(); // Start Mocker Server
mocker.get(url, callback(responseBody, allResponseData));
mocker.post(url, callback(responseBody, allResponseData));
async function main() {
await mocker.fromSwagger(swaggerFilePath);
mocker.start();
}
main();
async function main() {
await mocker.fromSwagger(swaggerFilePath);
mocker.get("/healthcheck", () => ({status: "success"}));
mocker.start();
}
main();
const mocker = new Mocker();
mocker.init(portNumber);
mocker.start();
const mocker = new Mocker();
mocker.init(portNumber, dataObject);
mocker.start();
const mocker = new Mocker();
mocker.init(4000, {
users: {
123: {
account: ["Ben", "student"]
}
}
})
mocker.get("/name", (body, res) => ({ profile: mocker.data.users[res.query.uid].account}));
mocker.start();
const mocker = new Mocker();
mocker.init(4000, {
users: {
123: {
account: ["Ben", "student"]
}
}
})
mocker.post("/change-name/:id", (body, res) => {
mocker.data.users[res.params.id].account[0] = body.name
return { status: "success", name: mocker.data.users[res.params.id].account[0]}
});
mocker.get("/name", (body, res) => ({ profile: mocker.data.users[res.query.uid].account}));
mocker.start();
{
"name":"jerry"
}
{
"status": "success",
"name": "jerry"
}
{
"profile": [
"jerry",
"student"
]
}
const mocker = new Mocker();
mocker.get("/user/:id/:name", (body, res) => ({id: res.params.id, name:`${res.params.name} (${res.query.nickname})`}));
mocker.start();
{
id:"123",
name:"ben (bob)"
}
const mocker = new Mocker();
mocker.error = {error: "An issue occured"};
{
error:"An issue occured"
}
const mocker = new Mocker();
mocker.error = {error: "An issue occured"};
mocker.get("/healthcheck", () => ({status: "success"}), {status: "failure"});
{
status:"failure"
}