質問

大量に思ったことから知って休憩で間違い-見たいな方法が良いと思います。この問題は長いリードにうですが、必要な情報は散在しています。実際の質問に来場できます。

からの最初の段落のRoy守備の REST Apiけのハイパーテキスト駆動, では明確になったと考えて作られている誤解を招くおそれの:

私は飛行人数によって呼び他のHTTPベースのインターフェースREST APIに含まれています。今日の例である SocialSite REST API.このRPC.で詳しく箇条書きで教えて下さRPC.多くのカップリング表示するべきであることができるものとする。Xの格付け。

守備にともなうリストの複数の属性のREST APIに含まれています。しい道の両方に対して共通した慣習や共通のアドバイスなので、その他のものです。例えば:

  • REST APIを入力しな知識を超えて初期のURIブックマークやセットの標準化したメディアの種類に応じた適切な対象(つまり、期待を理解するために他のクライアントが利用に供している。...

  • REST APIな定義に固定リソース名または階層(明らかな結合のクライアントとサーバ)....

  • REST APIを過ごせるはずのほとんどすべての記述力を定義しようとすると、メディアタイプ(s)を表すのに使用される資源の駆動アプリケーションの状態、または定義の拡張に関名および/またはハイパーテキスト可能なマークアップのための既存の標準メディアです。...

の考え方"ハイパーテキスト"を中心に-よりURI構造やHTTP動詞を作ります。"ハイパーテキスト"の定義のコメント:

私は[聞]言ハイパーテキストというのは、同時発表の情報管理などの情報をアフォーダンスを通じて、ユーザー(オートマトン)を取得しの選択肢を選択します。ハイパーメディアは拡大文字列のテキストを含む時間的アンカー内のメディアストリーム最も研究者を区別する

ハイパーテキストの必要のないHTMLをブラウザです。機械きリンクが解析、セキュリティなどについてのデータ形式および関係す。

私の推測は、現時点での最初のアイデンティティの具体像を示したいと思うんですけれどもこのAPIドキュメンテーションFooるリソースは、以下に示すようになりますが密着結合クライアントとサーバーにおいて全く受け入れられない中でゆった。

GET   /foos/{id}  # read a Foo
POST  /foos/{id}  # create a Foo
PUT   /foos/{id}  # update a Foo

その代わり、代理人は強制発見のUriのすべてFoosにより、例えば、行の取得要求に対し/foos.(Uri場が総じて落ち着いて、パターンの上で横にしたら教えて下さい。) の応用メディアタイプが可能な輸送へのアクセス方法を各項目に行うことができるものとし、これでは、実際に使われている第三点です。このため、APIドキュメントに焦点を置きする方法を説明する解釈のハイパーテキストに含まれる。

また、毎時間URIをFoo資源を求められたときは、応答のすべての情報を可能にするために必要となる代理店の発掘の進め方により、例えば、アクセスおよび関連する親会社の資源を通してUriを指し示しているような行動を後に作成/削除のリソースです。

のシステム全体の応答のハイパーテキストに含まれるメディアタイプ自体に伝え、エージェントオプションを進めています。ものではありませんが、このままでは、ブラウザの作品ます。

このたぐいです。

聞掲載 フォロー たる対応を批判する議論のなかでも抽象的な例は、専門用語等とは意味が豊富な:

その他のままを聞き分けてみよう何を書いていることにより直接的又は適用に一部実用的な懸念しています。そんな忙しくて取り組んが次の話題に備え、会議-書き別の規格に旅行の一部離れたところにあっては少ないと感じていを取得しpaycheck.

なので、簡単な質問に専門家が実用的なマインド:いると解釈どの守備がうまた、どのように実践し時に記録/実施REST Api?

編集:この問題はどのようにハードでありない場合は名前を付けていたいと話します。名この場合には"ハイパーメディアについての意見交換を行うことがアプリケーションの状態"(HATEOAS).

役に立ちましたか?

解決

私はあなたの説明はほとんどそれをカバーだと思います。 URIは、ほとんどの部分は、アプリにアクセスするためのユーザエージェントによって使用されているブックマークURIを超えて通信すべきではない不透明な識別子です。

文書化するように、この質問はかなりの数回行われてきました。あなたは、ハイパーリンクは、あなたがそう(AtomPubのを参照してください)希望の場合、それは(リンクやフォーム)、および相互作用モデルが含まれていることを制御し、一緒に、あなたのメディアタイプを文書化します。

あなたはURIを文書化する場合は、

は、またはそれらを構築する方法を、あなたはそれが間違ってやっている。

他のヒント

あなたの解釈は、私には正しいようです。私はフィールディングの制約が実質的に適用できることを信じています。

私は本当に誰かがRESTインターフェイスを文書化する方法のいくつかの良い例を公開見たいのですが。非常に多くの貧しい人々の例は非常に価値があるようにユーザーを指すように、いくつかの有効なものを持っている、があります。

私はHATEOAS以下の書かれたAPIの良い例を探しているとのトラブル(私が「正常な」APIの状況に適用することがSunCloudのAPIとAtomPubのものの両方が困難見つかった)ものを見つけるを持っていたされています。だから私はそれが適切なREST実装あることを意味するものでロイFieldingsのアドバイスに従っ私のブログ上で現実的な例を作ってみました。私はそれは非常に難しい、(Webページとは対照的に、APIでの作業時ちょうど混乱)原則的には非常に単純であるという事実にもかかわらず、一例を考え出すことがわかりました。私はAPIのために適切に実装するための考え方でちょうどシフトであり、ロイはとの問題を取っていたものを手に入れると同意します。

APIの例休憩を使用して:

見てください

URIを構築する方法についての指示を与える唯一の例外は、ハイパーテキストの他のフィールドを使用して、クライアントによって自動的に置換するフィールドで、ハイパーテキスト応答にURIテンプレートを送信するために許されることです。これは通常、gzip圧縮はこれで気にしないために十分なURIの繰り返しの部分を処理するので、しかし多くの帯域幅を節約終わるません。

RESTにいくつかの良い議論と関連HATEOASます:

/>

コーヒーのカップを取得する方法

ほとんどの人が誤解していること事は(少なくとも私は思う)RESTの世界では、あなたの「休息インターフェース」、何を文書化することは、独立して、サーバーやサービスの、メディアタイプであるを文書化していないということです。

絶対に正しいです。私はそのURIテンプレートがあれば、パターンが文書からサーバー(OpenSearchの適切な例である)から受信しているとして、RESTfulなアプリケーション内で完全に罰金していること以外に注意したいです。 URIテンプレートのために、彼らが使用されている場所、あなたは、ドキュメントやテンプレートの予想されるプレースホルダが何であるかではなく、テンプレートそのもの。 Wahnfriedenが言ったことに少し反して、これは例外ではありません。

たとえば、私の仕事で、私たちは、内部のドメイン管理システムを持っており、サービス文書には、2つのURIテンプレートを指定:ドメインの可用性を照会するためのURIを構築するためのドメインリソースのための最良の推測URIを生成するための1、および他の。これは、特定のドメインのURIが何であるかを把握するためにドメインのコレクションをページにまだ可能だが、それが管理するドメインの膨大な数を考えると、これは、クライアントのために実行可能ではないので、彼らに何を推測する方法を与えますドメインリソースのURIがあるかもしれない、サーバーのから巨大なクライアントの観点から、実装の容易さの観点で勝利し、帯域幅です。

あなたの質問にオン:私たちの規範的文書は、リソース、これらのリソース上の様々な方法の効果、および使用する表現メディアの種類とそのスキーマ、およびどのようなものをrepresentions内のURIが指すリソースの種類を暴露された

我々はまた、典型的なクライアント - サーバー間の相互作用の例を示した文書で言及したのURIにあまり読まないように、それに免責事項を添付している非規範的(参考)のドキュメントが含まれています。これは具体的ではなく、抽象的な規範的文書を置きます。

のはGET /foos/createFormが、我々はPOST /foosを作成するために行くときに提供する必要のあるフォームフィールドの値を取得するために呼び出されると仮定しましょう。今FOOSを作成するために使用される1すなわち、この特定のURLは右、フィールディングの命題に応じて提出するアクションリンクとしてGET /foos/createFormの応答の中に言及しなければならない?
   その後、無効になりもの「コード/ configのオーバー大会」アクションによく知られたHTTP動詞にマッピングするアクションの利点は何ですか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top