Koa.js-応答オブジェクト

Koa Responseオブジェクトは、ノードのバニラ応答オブジェクトを抽象化したものであり、日常の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://localhost:3000/hello その後、次の応答を受け取ります。

コンソールで、リクエストオブジェクトがログアウトされます。

{ 
   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

応答本文を取得または設定します。通常、コンテキストオブジェクトを使用してアクセスします。これは、それにアクセスするためのもう1つの方法です。本文のタイプは、String、Buffer、Stream、Object、またはNullです。

response.type

現在の応答のコンテンツタイプを取得または設定します。

response.get(field)

この関数は、大文字と小文字を区別しない値フィールドを持つヘッダーの値を取得するために使用されます。

response.set(field、value)

この関数は、フィールドと値のペアを使用して応答にヘッダーを設定するために使用されます。

response.remove(field)

この関数は、フィールド名を使用して応答のヘッダーの設定を解除するために使用されます。

応答オブジェクトの詳細については、Responseのドキュメントをご覧ください。