3

これはAPIのベストプラクティスに関連していると思います。APIの実装を検討していますが、API設計でビューを使用する必要があるのか​​、ユーザーのフロントエンド実装用にビューを残す必要があるのか​​がよくわかりません。APIでビューを実装するのは良い考えではないと思いますが、通常何が行われるかを知っておくとよいでしょう。API呼び出しは常にJSONまたはXMLのいずれかを返す必要があると思います。ビューを追加すると、すべてが複雑になります...

APIでビューを使用していますか、はい/いいえ、なぜですか?

4

4 に答える 4

2

APIは、ApplicationProgrammingInterfaceの略です。これは、アプリと対話するために呼び出すことができる、アプリによって公開されるものです。RESTは、アプリケーションの設計方法を説明するのではなく、通信構造(リソース、表現、動詞、名詞)を定義するだけの哲学です。

ビューはRESTの概念ではありませんが、最も一般的なケースでは、ビューはRESTのリソースの表現になります。このビュー表現はサーバーから直接返すことができますが、ほとんどの開発者はデータのみを返し、視覚化を分離することを好みます。

APIがHTMLを返す場合、RESTに違反することはありませんが、ユーザーインターフェイスとアプリケーションのデータの間に結合が導入されます。RESTのためではなく、基本的なソフトウェア設計の原則に違反するため、これを行わないことをお勧めします。

于 2012-11-29T15:44:20.437 に答える
0

私のRESTAPIの場合、JSONデータのみです。REST APIでは、APIがフロントエンド実装に依存しない必要があるため、JSONまたはXMLを返す必要があります。

于 2012-11-29T15:35:26.973 に答える
0

提案しているビューは、htmlの種類のビューのみです。ただし、ビューはjson、xml、およびその他の多くのタイプにすることもできます。

ビューはリソースの表現です。アプリケーションによって処理されたデータをエクスポートする方法です。

そのように考えると、APIプロジェクトでもMVCを使用できることに気付くでしょう。

rablactive_model_serializersのようなAPIプロジェクトのビューで動作するgemがいくつかあります。

于 2012-11-29T15:54:41.163 に答える
0

答えはイエスとノーです。単純なマシン解析可能な形式(XML、JSON、CSV)を出力するREST APIはビューを必要としませんが、APIユーザーが人間が読める形式で出力を確認できる場合は、それを使用して出力を検証できる場合に役立ちます。 RESTAPIを使用するアプリケーションの モデルでデータ処理を処理することでコードの重複を最小限に抑え、JSON / XML REST API用と人間が使用するための別のビューがある場合にも、これは有効なオプションです。この場合、「ビュー」は、モデルによって作成/取得されたオブジェクトを、人間とプログラムの両方のさまざまなコンシューマーへのさまざまな出力形式に変換します。

于 2012-11-29T15:55:38.263 に答える