egg编写用户点赞的接口
在 Egg 框架中编写用户点赞的接口,可以按照以下步骤进行:
1.在 app/controller 目录下创建对应的控制器文件,例如 app/controller/like.js
。
在控制器文件中编写用户点赞的方法,可以参考以下示例代码:
'use strict';
const Controller = require('egg').Controller;
class LikeController extends Controller {
async create() {
const { ctx } = this;
const { userId, postId } = ctx.request.body;
const result = await ctx.service.like.create(userId, postId);
ctx.body = result;
}
}
module.exports = LikeController;
上述代码中,create
方法获取客户端传递过来的用户 ID 和帖子 ID,然后调用对应的服务层方法进行用户点赞操作,并将操作结果返回给客户端。
2.在 app/router.js 文件中添加对应的路由规则,例如:
'use strict';
module.exports = app => {
const { router, controller } = app;
router.post('/api/like', controller.like.create);
};
上述代码中,/api/like
是客户端请求用户点赞接口的 URL,对应的控制器方法是 controller.like.create
。
3.在 app/service 目录下创建对应的服务层文件,例如 app/service/like.js
。
在服务层文件中编写用户点赞的方法,可以参考以下示例代码:
'use strict';
const Service = require('egg').Service;
class LikeService extends Service {
async create(userId, postId) {
const { ctx } = this;
const result = await ctx.model.Like.create({ userId, postId });
return result;
}
}
module.exports = LikeService;
上述代码中,create
方法接收客户端传递过来的用户 ID 和帖子 ID,然后使用 Sequelize 提供的 create
方法进行用户点赞操作,并将操作结果返回给控制器方法。
通过以上步骤,我们就可以在 Egg 框架中编写一个简单的用户点赞接口了。需要注意的是,在实际项目中,还需要对权限、参数校验等方面进行完善。