res.send()
JSON以外の形式(XML、CSV、プレーンテキストなど)で文字列レスポンスを送信します。
このメソッドは、他のほとんどのターミナルレスポンスメソッドの基盤となる実装で使用されます。
return res.send([string]);
このメソッドは、XMLの文字列を送信するために使用できます。
引数が提供されない場合、レスポンスボディは返送されず、ステータスコードのみが返送されます。
ユーザーが自身のデータをエクスポートできるようにし、ヨーロッパのGDPR規制に準拠するために、次のような動的なCSV形式のデータを返送する場合があります。
// Send back some dynamic CSV-formatted data.
return res.set('text/csv').send(`
some,csv,like,this
or,,like,this
`);
または、(サイトマップなどで)XMLで応答するには、次のようにします。
// Send down some dynamic XML-formatted data.
return res.set('application/xml').send(`<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://sails.dokyumento.jp</loc>
<lastmod>2018-03-28T17:02:23.688Z</lastmod>
<changefreq>monthly</changefreq>
</url>
</urlset>
`);
任意のプレーンテキストを送信したり、任意のステータスコードを使用することもできます。
// You can use any status code you like.
// (Defaults to 200 unless you specify something else.)
return res.status(420).send('Hello world!');
- このメソッドはターミナルです。つまり、通常、特定のリクエストに対してアプリが実行するコードの最後の行になります(そのため、このドキュメント全体で
return
を使用することを推奨しています)。- 辞書またはJSONを送信する場合は、
res.json()
を使用してください。- ストリームを送信する場合は、actions2(推奨)または
.pipe(res)
(どうしても必要な場合)を使用してください。- カスタムステータスコードを送信する場合は、最初に
req.status()
を呼び出してください。