2017-04-13 6 views
-1

Userというモデルが、基本的なREST CRUD(GET、POST、DELETE、UPDATE)を持っています。Sails.jsのリクエストに応じてHTMLまたはJSONを返す方法

私は(4 が存在しないことをユーザーのIDです)user/4に行くとき、2例があります。

  1. 私はポストマンのようなRESTクライアントでそれをやっている場合、私は404と何も得ないだろう。
  2. 私がブラウザを利用している場合は、ビューフォルダに定義されている404ページ(テキスト、画像など)を取得します。

どのように私はfindOnefind、および他のURLのためにこれを達成することができますか?私は、JSONのみの応答を持つことができたいと思っています。また、HTMLページはさまざまな種類の要求に対して応答します。しかし、ORMはすでに私が失いたくないたくさんの仕事をしているので、私は関数をオーバーライドしたくありません。

EDIT:私のソリューションは、接頭辞user/4なく、そのような/api/user/4などの接頭辞、およびHTML応答でAPIを残すことであろうが、私はよりエレガントな解決策を見てみたいと思います。

EDIT 2:私はすべてJSONを行く、そして唯一の独立したフロントエンドとRESTサービスを使用することにしました;)

答えて

0

あなたはAPIのクライアントから送信されたヘッダを制御している場合は、私は2つを参照してくださいヘッダーに基づいて、きれいなセマンティックソリューションは、送られた:

    あなたがアヤックスを認識する X-Requested-With: XMLHttpRequestヘッダに依存している可能性があり
  • が明示的にJSON
  • を要求するために Accept: text/jsonヘッダに依存している問い合わせます

ファイル拡張子を持つURLを変更して、特定の応答をリクエストすることもできます。user/4.html => send html、user/4 => send json。

関連する問題