KoaJS Response 对象

  • 定义和使用

    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,那么您将收到以下响应。
    koa
    在您的控制台上,您将使响应对象打印。
    { 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 对象的更多信息。