An ORM-like Interface and a Router For Your API Requests
Create simple, reusable, and cleaner wrappers, define custom routes, and more for your API requests.
Read the official docs at https://rapidjs.io.
Installation
Pick your poison:
yarn add rapid.js
npm i -S rapid.js
npm install --save rapid.js
Overview
- Define Simple Models
- Easily Customize Your API Requests
- Create Reusable Base Models
- Write API Wrappers For Your Endpoints
- Define Custom Routes (New!)
Define Simple Models
const post = modelName: 'Post' ; post; postcollection; postall; post // POST => /api/posts/25/update post // POST => /api/posts/9/destroy post // POST => /api/posts/9/restore
Read more about Rapid Basics.
Easily Customize Your API Requests
const post = modelName: 'Post' suffixes: destroy: '' update: 'save' methods: destroy: 'delete' trailingSlash: true ; post // POST => /api/posts/25/save/ post // DELETE => /api/posts/9/
Read more about Customizing Your Requests.
Create Reusable Base Models
{ thisbaseURL = 'https://myapp.com/api'; thisconfigglobalParameters = key: 'MY_API_KEY' } const photo = modelName: 'Photo' ;const gallery = modelName: 'Gallery' ;const tag = modelName: 'Tag' ; photo // GET => https://myapp.com/api/photo/1?key=MY_API_KEY tagcollection // GET => https://myapp.com/api/tags/color/red?key=MY_API_KEY galleryid23 // GET => https://myapp.com/api/gallery/23/tag/nature?key=MY_API_KEY
Read more about Base Models.
Write API Wrappers For Your Endpoints
{ thisbaseURL = 'https://myapp.com/gallery/api'; thismodelName = 'Gallery'; } { return this; } { return this; } const gallery = globalParameters: key: 'MY_API_KEY' ; gallery; // GET https://myapp.com/gallery/api/tagsearch/json?query=nature&key=MY_API_KEY // GET https://myapp.com/gallery/api/tagsearch/json?query=nature&key=MY_API_KEY
Read more about Making a Wrapper.
Define Custom Routes
const customRoutes = name: 'web_get_user_preferences' type: 'get' url: '/user/preferences' name: 'web_save_user_preferences' type: 'post' url: '/user/{id}/save/preferences' ; const router = customRoutes baseURL: '/api' ; router; // GET => /api/user/preferences router; // POST => /api/user/12/save/preferences
Using Your Own HTTP Service
; const customRoutes = name: 'web_login' url: '/login' name: 'api_save_user_preferences' url: '/user/{id}/save/preferences' ; const rapid = customRoutes baseURL: '' ; rapid// returns '/login' // use your own servicehttp...
Read more about Custom Routes.
Read the official docs at https://rapidjs.io.