controller での Response について。
基本的には Request はインプット、Response はアウトプットってイメージでいいんじゃないでしょうか。
基本的な書式
return res.{ };
return の戻り値(返り値 )にするのが鉄板です。
res.view
説明
MVC の View に オブジェクト(データ)を渡せる。
View 側で <% %> をすると引き出せます。
Controllerで処理した結果をViewに反映できるので使う機会はかなり多いですね。
SQLなどのデータベースから、大量のデータを引き出す時は、クライアント側(ブラウザ側)で処理を行うと時間がかかりますよね?
そこで性能の高いController(サーバー側)でデータを引き出してみましょう。
格段に速くなりませんか?
流行りのサーバーサイドレンダリングと狙いは似たようなものだと考えてください。
重たい処理は力のあるPCやサーバーに任せてしまいましょう。
使い方
Controller
var data = { app: 'Sails.js, message: '使ってみてね~' } return res.view(data);
View
<%= app %>を<%= message %>
ブラウザ
Sails.jsを使ってみて~
ちなみにルーティングは、
'/news': { action: 'news', controller: 'Main' },
こんな感じにしておきましょう。
参考
res.json
説明
オブジェクトデータをアウトプットする
コントローラ内でオブジェクトを作成して、クライアント側(ブラウザ)に渡すことができます。
Web API みたいな動きができますね。
viewが必要がないので手早くAPIを作れるのは、利点ですね。
使い方
var data = { app: 'Sails.js, message: '使ってみてね~' } return res.json(data);
ブラウザ
{ app: 'Sails.js, message: '使ってみてね~' }
Chromeなどはブラウザに情報が反映されると思います。
IEだとjsonファイルのダウンロードになります。
ブラウザによって挙動が違う場合があるので用途によっては注意が必要です。
まとめ
Response(res)のよく使うところからご紹介しました。
あんまり詳しく解説はしません。
基本的には、こう書けば動く、程度のメモにしております。
次回は、Response 続きを書きます。