在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:garbin/koapi开源软件地址:https://github.com/garbin/koapi开源编程语言:JavaScript 100.0%开源软件介绍:KoapiRESTful API framework based on koa and bookshelf Writing a RESTful API has never been so easy! IntroKoapi is a library for building RESTful APIs in a really simple way. Installationnpm install koapi Write your APIs in just ONE minuteAssume you have database below
Table |
id | title | contents | created_at | updated_at |
---|---|---|---|---|
1 | Title | Contents | 2016-8-1 | 2016-8-1 |
comments
id | post_id | title | contents | created_at | updated_at |
---|---|---|---|---|---|
1 | 1 | Title | Comment | 2016-8-1 | 2016-8-1 |
const { Koapi, router, middlewares, model } = require('koapi')
const app = new Koapi();
/****************** Connect to database ******************/
model.connect({
client: 'pg',
connection: {
host : '127.0.0.1',
user : 'your_database_user',
password : 'your_database_password',
database : 'myapp_test'
}
})
class Comment extends model.Base {
get tableName () { return 'comments' }
get hasTimestamps () { return true }
}
class Post extends model.Base {
get tableName () { return 'posts' }
get hasTimestamps () { return true }
comments () {
return this.hasMany(Comment);
}
}
/****************** Implement Routers ******************/
const comments = router.resource(Comment, {
collection: ctx => ctx.state.parents.post.comments()
setup (route) {
// method "crud" is a shortcut for "create", "read", "update" and "destroy"
// YOU CAN ALSO USE MIDDLEWARE in "create", "read", "update", "destroy"
route.create(async(ctx, next) => {
// you can do anything before create
await next();
// you can do anything after create
})
route.read(/* You can place any middleware here if you need */{
filterable: ['created_at'], // filterable fields
sortable: ['created_at'], // sortable fields
});
route.destroy()
}
})
// POST /posts
// GET /posts
// GET /posts/:id
// PATCH /posts/:id
// DELETE /posts/:id
const posts = router.resource(Post, route => route.crud()).children(comments)
/****************** Run server ******************/
app.use(middlewares.preset('restful'))
app.use(middlewares.routers([ posts ]))
app.listen(3000);
node ./app
You have done your RESTful APIs in ONE minute
Checkout Koapp for your situation.
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论