Restapify is a tool that allows you to quickly and easily deploy a local REST API by using an intuitive and developer friendly JSON file structure.
When you start a new frontend project when the backend is not yet ready, you quickly come to the question of how to retrieve the data to be displayed. There are then many solutions that come with advantages but also some inconveniences. It's possible to use a tool like postman but it's not 100% free and require an account, to simply fetch local JSON data but it only supports a GET
request or use a mocker library like json-server, mocker-api or http-fake-backend.
The problem of most of this libraries is the way you have to define your API endpoints (a single file for all the routes, javascript files that took almost the same time to code than the real API, ...). Restapify try to make this process even faster with a file structure close to the one that you can see in Nextjs or Sapper and some developer friendly syntaxes to populate your json files.
- ๐ก Incredible DX - Intuitive files structure and JSON syntax
- โ
JSON valid - You will only use
.json
files that follows the ECMA-404 standard - ๐ Dashboard - Out of the box SPA to explore and manage your mocked API
- ๐ป CLI - Use the CLI for an instant deployment
- ๐ฅ Built in hot watcher - Directly see your changes after a file update
- ๐ Fakerjs implementation - Intuitive syntax to quickly populate your API responses
- ๐จ Events handler - Execute callbacks on specific events
- ๐ท๏ธ TypeScript support
The simplest way to use Restapify is to use his cli:
npm i -g restapify
and then serve the api folder:
restapify serve path/to/folder/
You can install restapify's class using npm
(note that this package should be a devDependency):
npm i -D restapify
You can then import the class and instantiate it to serve the api folder:
import * as path from 'path'
import Restapify from 'restapify'
const apiFolderPath = path.resolve(__dirname, './path/to/folder')
const rpfy = new Restapify({
rootDir: apiFolderPath
})
rpfy.run()
Checkout the documentation on the website or directly read it from the Markdown source file.
All remarks are welcome so feel free to open an issue. Wants to collaborate? Please read the contributing guidelines.