在 Koa.js 中,可以通过 ctx.request 对象来获取请求的参数和查询参数。ctx.request 对象是 Koa.js 提供的用于获取请求信息的对象,其中包含了一些常用的属性和方法。

以下是 ctx.request 对象的常用属性和方法:

  • ctx.request.path:获取当前请求的路径(不包含查询参数)。
  • ctx.request.query:获取当前请求的查询参数(一个包含所有查询参数的对象)。
  • ctx.request.querystring:获取当前请求的查询参数字符串。

举个例子,假设我们处理的是一个 POST 请求,请求的路径是 /users,并且请求的参数是一个 JSON 对象,包含用户的姓名和年龄。我们可以通过 ctx.request.body 来获取这些参数:

router.post('/users', (ctx) => {
  const { name, age } = ctx.request.body;
 
  // 对获取到的参数进行处理
  // ...
 
  ctx.body = 'User created!';
});

另外,ctx 对象还有一些常用的属性和方法,可以用于获取和设置响应状态、设置响应头、获取请求方法等等。以下列出一些常用的 ctx 对象的属性和方法:

  • ctx.status:获取或设置响应的状态码。
  • ctx.headers:获取请求的头部信息。
  • ctx.method:获取请求的方法(GET、POST等)。
  • ctx.params:获取命名路由参数的值。
  • ctx.redirect(url):重定向到指定的 URL。
  • ctx.throw(status, [message], [properties]):抛出一个 HTTP 异常,并设置响应的状态码、消息和属性。

这些属性和方法可以在路由的处理函数中使用,用于获取和设置请求和响应的相关信息。