传送门:学习node.js服务开发就够了本系列文章json接口的开发是最常见的开发需求。分三步,路由器层定义路由。路由映射到controller,controller控制器层调用service业务逻辑层完成业务逻辑。1.路由器层module.exports=(app)=>{constRouter=app.routerRouter.get("/api/users",app.controller.user.getUsers)}2.控制器层//app/controller/user.jsconst{Controller}=require('egg')classUserextendsController{asyncgetUsers(){const{pageNum,pageSize}=ctx.queryctx.body=this.ctx.service.userService.queryUser(pageNum,pageSize)}}module.exports=User3.Servicelayer//app/service/user_service.jsconst{Service}=requrie('egg')classUserServiceextendsService{asyncqueryUser(pageNum,pageSize){//具体业务逻辑,分页参数处理。数据库查询等返回User列表}}module.exports=UserService以上三步就可以完成一个基本的http+json接口的开发。以下是一些需要注意的地方4.获取请求参数4.1获取/api/users?pageNum=1&pageSize=10中的pageNum和pageSize等查询字符串参数可以通过ctx.query获取查询字符串对象参数,在上面的例子中可以获取对象const{pageNum,pageSize}=ctx.query4.2获取http请求体body通过ctx.request.body获取请求对象const{userName}=ctx.request.body
