本物の意味は何ですか複数の表現を持つリソースは安らかですか? InfoQ's "A Brief Introduction to REST"を読んだ後、私は混乱しています。表現は何ですか?安心の原則
安心の原則
答えて
表現は、データを表示および/または転送するための特定の方法です。同じリソースは、さまざまな方法で表現することができます。
- としてHTMLページ
- XML文書
- としてJSONデータ構造として
- プレーンテキストとして
- でもPDFファイル希望の場合
- ...
「表現」を「データ形式」と交換すると、より理解を深めることができます。
HTML::
<h1>John Doe</h1>
XML:
<customer-name>John Doe</customer-name>
JSON:
01 "顧客" リソースため例
{ "UserName" : "John Doe", }
メタファー:
ちょうど絵を考えます。これは、ビットマップ、PNG、JPEG、その他多くのフォーマットやデータ構造として再現できます。それらのすべては同じ絵を示していますが、内部構造が異なります。(彼らの「表現」)
実用的な考慮事項:Webアプリケーション環境で
最も一般的な表現は、ブラウザに送信され、標準出力として(X)HTMLです。 AjaxとWebアプリケーションへの自動アクセスに関しては、XMLとJSONが続きます。
リソースは、基本的にはデータの集合です。この例では、リソースは特定の顧客との関連データです。
リソースを取得すると、そのリソースが取得されます。現在、ほとんどのデータには、複数の表現があります。データテーブルやチャートなどを考えてみてください。 この例では、HTTP受け入れヘッダーを設定することによって、受信する表現を定義しています。 xml形式の最初の例では、vcard形式の2番目の例です。
これを見てみましょう:REST Wikipedia article
リソースは、サーバー、「もの」に何かある、と記事は、ちょうどあなたが複数のメッセージを約返さギ持つことができると言っているという点で、それを記述する「もの」異なる方法...
RESTを定義するRoy Fielding's dissertationをご覧ください。
実際、「表現」はこれらの答えよりも抽象的です。 「リプレゼンテーション」とは、単にリソース全体ではないことを意味します。たとえば、社内HRデータベースのリソースである従業員レコードがあります。 「従業員」は、RESTfulアーキテクチャを介して公開する明白なリソース名詞です。しかし、私の従業員IDに電子メールURIでアクセスすると、その表現は、HR特典URIを通じて従業員IDにアクセスするときに表示される表現とはまったく異なります。
DRの答え(JSON、XMLなど)は、実際にはREST用語ではメディアタイプと呼ばれています。これは単にレスポンスのデータ形式です。
- 1. 原則の原則
- 2. 設計原則
- 3. 保護の原則
- 4. Django:DRY原則とUserPassesTestMixin
- 5. スレッディングとSOLID原則
- 6. SOLIDプログラミングの原則の例
- 7. 開封の原則の例
- 8. SOLIDの原則のリファクタリング
- 9. ロングポーリングサーバーの原則(クライアントID)
- 10. 移行、スキーマ、DRYの原則
- 11. InnoDB取引の原則
- 12. RMIインターフェイスの設計原則
- 13. 機能プログラミングの原則
- 14. RESTの原則リソース更新
- 15. IoTハブのデバイス原則
- 16. コマンドとMVVMの原則 - RelayCommands
- 17. Git:Convention over Configurationの原則?
- 18. インターフェイス分離原則 - Javaの
- 19. 安心なルーティング
- 20. 最低特権原則
- 21. OpenCV SurfFeatureDetector働く原則
- 22. ストラテジーパターンとオープンクローズド原則コンフリクト
- 23. SSPI:ユーザー原則名WCFクライアント
- 24. 原則検証中DRY?
- 25. WCF CustomRoleProvider原則権限
- 26. 安心ベアラー認証
- 27. Azureサービスバスセキュリティ安心時
- 28. デザインアプローチ:Android安心JSON
- 29. 継承とインターフェイスの分離の原則
- 30. エンティティフレームワークの最小特権の原則
私は今それを得た。ソースがある場合は、何らかの形でそれらを表現する必要があります。しかし、新しい疑問はなぜ私たちが実際の情報源を使用しないのかです。それはサーバーが非常に遅いためですか? – Iguramu
反対に、表現レイヤを追加することは、キャッシュやその他の速度の最適化とは関係ありません。 ほとんどの場合、元の送信元だけを送信することはできません。あなたのデータがMySQLデータベースから来たら、あなたは何を送るでしょうか?あなたはあなたのデータをある種の表現に変換する必要があります。 –
http://tomayko.com/writings/rest-to-my-wifeの最後の段落をチェックすることができます。 Ryanは、「名詞は普遍的なものではなく、動詞は多形性ではない」と言っています。 XMLは普遍的なデータ定義言語ではありませんか? – Iguramu