Koa.js - 响应对象



Koa 响应对象是 node 原生响应对象的抽象,提供了对日常 HTTP 服务器开发有用的附加功能。Koa 响应对象嵌入在上下文对象 this 中。让我们在每次收到请求时都输出响应对象。

var koa = require('koa');
var router = require('koa-router');
var app = koa();

var _ = router();

_.get('/hello', getMessage);

function *getMessage(){
   this.body = 'Your request has been logged.';
   console.log(this.response);
}

app.use(_.routes());
app.listen(3000);

当你运行此代码并导航到 https://127.0.0.1:3000/hello 时,你将收到以下响应。

Request Object

在你的控制台中,你将看到输出的请求对象。

{ 
   status: 200,
   message: 'OK',
   header: 
   {
      'content-type': 'text/plain; charset=utf-8',
      'content-length': '12' 
   },
   body: 'Your request has been logged.' 
}

状态和消息由 Koa 自动设置,但我们可以修改它们。如果我们不设置响应主体,则状态码将设置为 404。一旦我们设置了响应主体,则状态码默认设置为 200。我们可以显式地覆盖此行为。

我们可以使用此对象访问响应的许多有用属性。让我们看一些例子 -

response.header

提供所有响应头。

response.status

提供响应状态(200、404、500 等)。此属性也用于设置响应状态。

response.message

提供响应消息。此属性也用于设置自定义响应消息。它与 response.status 相关联。

response.body

获取或设置响应主体。通常,我们使用上下文对象访问它。这只是另一种访问方式。主体可以是以下类型:字符串、缓冲区、流、对象或空。

response.type

获取或设置当前响应的内容类型。

response.get(field)

此函数用于获取不区分大小写的字段值。

response.set(field, value)

此函数用于使用字段和值对设置响应头。

response.remove(field)

此函数用于使用字段名称取消设置响应头。

你可以在文档中阅读更多关于响应对象的信息:Response

广告