json接口開發

傳送門:學習node.js服務開發這一篇就夠了系列文章

json接口的開發是平常最多的開發需求。分三步走,router層定義路由。將路由映射爲controller,controller控制器層調用service業務邏輯層,來完成業務邏輯。

1.Router層

module.exports = (app) => {
  const Router = app.router
  
  Router.get("/api/users", app.controller.user.getUsers)
}

2.Controller層

// app/controller/user.js
const {Controller} = require('egg')

class User extends Controller {
  async getUsers() {
    const {pageNum, pageSize} = ctx.query
       ctx.body = this.ctx.service.userService.queryUser(pageNum, pageSize)
  }
}

module.exports = User

3.Service層

// app/service/user_service.js
const {Service} = requrie('egg')

class UserService extends Service {
  async queryUser(pageNum, pageSize) {
    // 具體的業務邏輯,分頁參數處理。數據庫查詢等。返回User列表
  }
}

module.exports = UserService

上面三步可以完成一個基本的http+json接口的開發。下面是需要注意的幾點

4.獲取請求參數

4.1 獲取查詢字符串參數

/api/users?pageNum=1&pageSize=10中的pageNumpageSize

通過ctx.query可以獲取查詢字符串對象參數,上面的例子中可以拿到對象

const { pageNum, pageSize } = ctx.query

4.2 http請求體body的獲取

通過ctx.request.body獲取請求對象

const {userName} = ctx.request.body
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章