
期初我就是想找个能根据 model 生成 api 的库,找到了个叫 koa-mongo-rest 的,貌似很久没维护了,现在 koa-router 的版本低了,所以我照着他搞了一个。 如果你们需要的话。
mongoose rest generator for koa
Install using npm: npm install koa-rest-mongoose
var koa = require('koa'); var router = require('koa-router')(); var koaRestMOngoose= require('koa-rest-mongoose'); var mOngoUrl= '127.0.0.1:27017/koa_rest_mongoose'; var mOngoose= require('mongoose'); mongoose.connect(mongoUrl); var schema = new mongoose.Schema({ email: String, name: String, password: String, address: String, zipcode: Number, lists: Array }); var model = mongoose.model('user', schema); var app = koa(); koaRestMongoose(app, router, model, '/api'); app.listen(process.env.PORT || 5000); Following REST API is now created for you:
| HTTP Verb | /users | /users/:id | | ------------- | ------------- | --------------- | | GET | Get all documents, or documents that match the query.
You can use [mongoose find conditions] ( http://mongoosejs.com/docs/queries.html), limit, skip and sort.
For example:
/api/users?cOnditions={"name":"john"}&limit=10&skip=1&sort=-zipcode | Get the addressed document. | | POST | Create a new document and send it back. | Update the addressed document with specified attributes. | | PUT | Create a new document and send it back. | Replace the addressed document. | | DELETE | n/a | Delete the addressed document. | | PATCH | n/a | Update the addressed document with specified attributes. |
npm test
欢迎 issues 或者 pr :)