A RESTful API generator based on Node.js
rest-hapi is a hapi plugin that generates RESTful API endpoints based on mongoose schemas. It provides a powerful combination of relational structure with NoSQL flexibility. You define your data models and the rest is done for you. Have your API up and running in minutes!
Features
- Automatic generation of CRUD and association endpoints with middleware support
- joi validation
- Route-level and document-level authorization
- Swagger docs for all generated endpoints
- Query parameter support for searching, sorting, filtering, pagination, and embedding of associated models
- Endpoint activity history through Audit Logs
- Support for policies via mrhorse
- Duplicate fields
- Support for "soft" delete
- Optional metadata for documents
- Mongoose wrapper methods
- ...and more!
rest-hapi is being sponsored by the following tool; please help to support us by taking a look and signing up to a free trial!
Live demo
View the swagger docs for the live demo:
Or, for a more complete example, check out the appy api:
Documentation
Check out the docs on the official site!
Requirements
Quick Start
(NOTE: For an alternative quick start, check out his awesome yeoman generator for rest-hapi.)
- Clone the demo repo
$ git clone https://github.com/JKHeadley/rest-hapi-demo.git
$ cd rest-hapi-demo
- Install the dependencies
$ npm install
- Seed the models
$ ./node_modules/.bin/rest-hapi-cli seed
- Start the server
$ npm start
- View the API docs at
...have fun!
Example Projects
appy: A boilerplate web app.
rest-hapi-demo: A simple demo project implementing rest-hapi in a hapi server.
from https://github.com/JKHeadley/rest-hapi
-----
-----
The Simple, Secure Framework Developers Trust.
The hapi project is changing direction... Find out more.
@hapi/hapi
The Simple, Secure Framework Developers Trust
Build powerful, scalable applications, with minimal overhead and full out-of-the-box functionality - your code, your way.
hapi.dev Developer Portal for tutorials, documentation, and support
Visit theUseful resources
- Documentation and API
- Version status (builds, dependencies, node versions, licenses, eol)
- Changelog
- Project policies
- Free and commercial support options
No comments:
Post a Comment