> 文章列表 > egg编写用户点赞的接口

egg编写用户点赞的接口

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 框架中编写一个简单的用户点赞接口了。需要注意的是,在实际项目中,还需要对权限、参数校验等方面进行完善。