Nodejs-response-object

提供:Dev Guides
移動先:案内検索

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

*res* オブジェクトは、ExpressアプリがHTTP要求を取得したときに送信するHTTP応答を表します。

応答オブジェクトのプロパティ

以下は、応答オブジェクトに関連付けられたいくつかのプロパティのリストです。

Sr.No. Properties & Description
1

res.app

このプロパティは、ミドルウェアを使用しているエクスプレスアプリケーションのインスタンスへの参照を保持します。

2

res.headersSent

アプリが応答にHTTPヘッダーを送信したかどうかを示すブールプロパティ。

3

res.locals

要求にスコープされた応答ローカル変数を含むオブジェクト

応答オブジェクトのメソッド

res.append(フィールド[、値])

res.append(field [, value])

このメソッドは、指定された値をHTTP応答ヘッダーフィールドに追加します。 以下はいくつかの例です-

res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
res.append('Warning', '199 Miscellaneous warning');

res.attachment([ファイル名])

res.attachment([filename])

このメソッドは、HTTP応答の添付ファイルとしてファイルを送信するために使用されます。 以下はいくつかの例です-

res.attachment('path/to/logo.png');

res.cookie(名前、値[、オプション])

res.cookie(name, value [, options])

このメソッドは、Cookie名を値に設定するために使用されます。 値パラメーターは、JSONに変換されたストリングまたはオブジェクトです。 以下はいくつかの例です-

res.cookie('name', 'tobi', { domain: '.example.com', path: '/admin', secure: true });

res.cookie('cart', { items: [1,2,3] });
res.cookie('cart', { items: [1,2,3] }, { maxAge: 900000 });

res.clearCookie(name [、options])

res.clearCookie(name [, options])

このメソッドは、名前で指定されたCookieをクリアするために使用されます。 以下はいくつかの例です-

res.cookie('name', 'tobi', { path: '/admin' });
res.clearCookie('name', { path: '/admin' });

res.download(パス[、ファイル名] [、fn])

res.download(path [, filename] [, fn])

このメソッドは、パスのファイルを「添付ファイル」として転送するために使用されます。 通常、ブラウザはユーザーにダウンロードを促します。 以下はいくつかの例です-

res.download('/report-12345.pdf');

res.download('/report-12345.pdf', 'report.pdf');

res.download('/report-12345.pdf', 'report.pdf', function(err){

});

res.end([データ] [、エンコーディング])

res.end([data] [, encoding])

このメソッドは、応答プロセスを終了するために使用されます。 以下はいくつかの例です-

res.end();

res.status(404).end();

res.format(オブジェクト)

res.format(object)

このメソッドは、存在する場合、要求オブジェクトのAccept HTTPヘッダーでコンテンツネゴシエーションを実行するために使用されます。 以下はいくつかの例です-

res.format ({
   'text/plain': function() {
      res.send('hey');
   },

   'text/html': function() {
      res.send('hey');
   },

   'application/json': function() {
      res.send({ message: 'hey' });
   },

   'default': function() {
     //log the request and respond with 406
      res.status(406).send('Not Acceptable');
   }
});

res.get(フィールド)

res.get(field)

このメソッドは、フィールドで指定されたHTTP応答ヘッダーを返すために使用されます。 ここに例があります-

res.get('Content-Type');

res.json([body])

res.json([body])

このメソッドは、JSON応答を送信するために使用されます。 以下はいくつかの例です-

res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })

res.jsonp([body])

res.jsonp([body])

このメソッドは、JSONPサポートを使用してJSON応答を送信するために使用されます。 以下はいくつかの例です-

res.jsonp(null)
res.jsonp({ user: 'tobi' })
res.status(500).jsonp({ error: 'message' })

res.links(リンク)

res.links(links)

このメソッドは、パラメーターのプロパティとして提供されるリンクを結合して、応答のLink HTTPヘッダーフィールドに入力するために使用されます。 以下はいくつかの例です-

res.links ({
   next: 'http://api.example.com/users?page=2',
   last: 'http://api.example.com/users?page=5'
});

res.location(パス)

res.location(path)

このメソッドは、指定されたパスパラメーターに基づいて応答Location HTTPヘッダーフィールドを設定するために使用されます。 以下はいくつかの例です-

res.location('/foo/bar');
res.location('foo/bar');
res.location('http://example.com');

res.redirect([status、] path)

res.redirect([status,] path)

このメソッドは、指定されたHTTPステータスコードstatusを使用して、指定されたパスから派生したURLにリダイレクトするために使用されます。 以下はいくつかの例です-

res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');

res.render(view [、locals] [、callback])

res.render(view [, locals] [, callback])

このメソッドは、ビューをレンダリングするために使用され、レンダリングされたHTML文字列をクライアントに送信します。 以下はいくつかの例です-

//send the rendered view to the client
res.render('index');

//pass a local variable to the view
res.render('user', { name: 'Tobi' }, function(err, html) {
  //...
});

res.send([body])

res.send([body])

このメソッドは、HTTP応答を送信するために使用されます。 以下はいくつかの例です-

res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');

res.sendFile(パス[、オプション] [、fn])

res.sendFile(path [, options] [, fn])

このメソッドは、指定されたパスでファイルを転送するために使用されます。 ファイル名の拡張子に基づいて、Content-Type応答のHTTPヘッダーフィールドを設定します。 ここに例があります-

res.sendFile(fileName, options, function (err) {
  //...
});

res.sendStatus(statusCode)

res.sendStatus(statusCode)

このメソッドは、応答HTTPステータスコードをstatusCodeに設定し、その文字列表現を応答本文として送信するために使用されます。 以下はいくつかの例です-

res.sendStatus(200);//equivalent to res.status(200).send('OK')
res.sendStatus(403);//equivalent to res.status(403).send('Forbidden')
res.sendStatus(404);//equivalent to res.status(404).send('Not Found')
res.sendStatus(500);//equivalent to res.status(500).send('Internal Server Error')

res.set(フィールド[、値])

res.set(field [, value])

このメソッドは、応答のHTTPヘッダーフィールドをvalueに設定するために使用されます。 以下はいくつかの例です-

res.set('Content-Type', 'text/plain');

res.set ({
   'Content-Type': 'text/plain',
   'Content-Length': '123',
   'ETag': '12345'
})

res.status(code)

res.status(code)

このメソッドは、応答のHTTPステータスを設定するために使用されます。 以下はいくつかの例です-

res.status(403).end();
res.status(400).send('Bad Request');
res.status(404).sendFile('/absolute/path/to/404.png');

res.type(type)

res.type(type)

このメソッドは、Content-Type HTTPヘッダーをMIMEタイプに設定するために使用されます。 以下はいくつかの例です-

res.type('l');             //=> 'text/html'
res.type('html');              //=> 'text/html'
res.type('json');              //=> 'application/json'
res.type('application/json');  //=> 'application/json'
res.type('png');               //=> image/png: