定义和使用
Koa response 对象是 node 的普通响应对象之上的抽象,提供了对日常 HTTP 服务器开发有用的附加功能。
Koa response 对象嵌入到上下文对象中。
让我们在收到请求时注销响应对象。
var koa = require('koa');
var router = require('koa-router');
var app = new koa();
var _router = router(); //实例化路由器
_router.get('/hello', async (ctx)=>{ //定义路由
ctx.body = '您的请求已被记录。';
console.log(this.response);
});
app.use(_router.routes()); //使用路由器定义的路由
app.listen(3001);
运行此代码并导航到 http://localhost:3001/hello,那么您将收到以下响应。
在您的控制台上,您将使响应对象打印。
{ status: 200,
message: 'OK',
header: [Object: null prototype] {
'content-type': 'text/plain; charset=utf-8',
'content-length': '27'
},
body: '您的请求已被记录。'
}
状态和消息由 Koa 自动设置,但我们可以修改。如果不设置响应体,则状态代码设置为 404。一旦我们设置了响应体,默认情况下状态设置为 200。我们可以显式重写此行为。
我们可以使用此对象访问响应的许多有用属性。让我们看看一些例子–
response.header
提供所有响应标头。
response.status
提供响应状态(200, 404, 500等)。此属性还用于设置 response.status。
response.message
提供响应消息。此属性还用于设置带有响应的自定义消息。它与 response.status.
response.body
获取或设置响应主体。通常,我们使用 context 对象访问它。这只是另一种访问方式。正文的类型可以是:String、Buffer、Stream、Object 或 Null。
response.type
获取或设置当前响应的内容类型。
response.get(field)
此函数用于获取值字段不区分大小写的标头的值。
response.set(field, value)
此函数用于获取值字段不区分大小写的标头的值。
response.remove(field)
此函数用于使用字段名取消设置响应的标头。
您可以在 docs at response 中阅读有关 Response 对象的更多信息。