egg.js定义了快速生成CRUD路由配置的方式,即配置资源路由,用router.resources来实现
一、router.resources支持的方法
Method | Path | Route Name | Contorller.Action |
---|---|---|---|
GET | /user | 默认 | app.contorllers.user.index |
GET | /user/new | 新增业务 | app.contorllers.user.new |
GET | /user/:id | 查询用户 | app.contorllers.user.show |
GET | /user/id/edit | 编辑用户 | app.contorllers.user.edit |
POST | /user | 新增用户 | app.contorllers.user.create |
PUT | /user/:id | 更新用户 | app.contorllers.user.update |
DELETE | /user/:id | 删除用户 | app.contorllers.user.destory |
二、使用
1.配置资源路由,在router.js文件中增加帖子资源路由
//router.resources()函数的第一个参数posts是路由名称,第二个参数/api/posts是请求路径
router.resources('user', '/user', controller.user);
2.在controller目录下创建posts.js文件,完整内容如下
'use strict';
const Controller = require('egg').Controller;
class UserController extends Controller {
// 用户列表
async index() {
console.log('>>> index')
this.ctx.body = {
msg: 'ok',
data: '用户列表'
};
};
// 新增业务逻辑
async new() {
console.log('>>> new')
this.ctx.body = {
msg: 'ok',
data: '新增业务逻辑'
};
};
// 新增用户
async create() {
console.log('>>> create')
this.ctx.body = {
msg: 'ok',
data: '新增用户'
};
};
// 查询用户
async show() {
console.log('>>> show')
let id = this.ctx.params.id;
this.ctx.body = {
msg: 'ok',
data: '查询用户,id=' + id
};
};
// 编辑用户
async edit() {
console.log('>>> edit')
let id = this.ctx.params.id;
this.ctx.body = {
msg: 'ok',
data: '编辑用户,id=' + id
};
};
// 更新用户
async update() {
console.log('>>> update')
let id = this.ctx.params.id;
this.ctx.body = {
msg: 'ok',
data: '更新用户, id=' + id
};
};
// 删除用户
async destroy() {
console.log('>>> destroy')
let id = this.ctx.params.id;
this.ctx.body = {
msg: 'ok',
data: '删除用户, id=' + id
};
};
}
module.exports = PostsController;
三、路由分组
1、app文件夹的根目录下创建 router 文件夹,在router文件夹里新建一个路由模块
2、在router下新建user.js,将user相关的路由迁移过来
3、在router.js文件中,引入user模块(通过require)
网友评论