http参数类型
- path
 - query
 - headers
 - body
 
get query参数
url静态参数
ctx.query 获取参数,是一个对象
www.baidu.com?id=1&name=2ctx.query 获取参数,是一个对象
url动态参数
ctx.params,参数是一个对象
www.baidu.com/list/23
路由传参
router.get('/list/:id', constroller.list.detail)
post 请求参数
ctx.request.body 获取 post 传参
'use strict';const { Controller } = require('egg');class AppController extends Controller {// class 里面的方法都是异步的async index() {const { ctx } = this;ctx.body = ctx.request.body;}}
egg-validate对参数验证
ctx.request.body
'use strict'const { Controller } = require('egg')class AppController extends Controller {async index() {const { ctx } = thisconst validateRule = {name: { type: 'string' },age: { type: 'number' },id: { type: 'number' }}ctx.validate(validateRule)ctx.body = ctx.request.body}}
plugins.js 配置插件
// http参数验证exports.validate = {enable: true,package: 'egg-validate',};
put & patch & delete
put,全部更新
- put 要求前端提供的一定是一个完整的资源对象
 - 缺的那些字段,应该被清空
 
patch,用来更新局部资源
- 只传一个name到指定资源去,表示该请求是一个局部更新,后端仅更新接收到的字段。
 
路由
//router.put('/user/:id', controller.user.edit);// 删除router.del('/user/:id', controller.user.del);
获取参数
const { ctx } = this;ctx.request.body
