1

OAuthまたはOpenIDでの承認のためにRESTfulAPIでXHTMLが使用された多くの例を見ました。これは非常に自然なことのように思えますが、フォームの送信がリソースの表現のPOST/PUTよりも優れている他の利点があるかどうかを自問しました。私は主に、機械と機械の相互作用、次に人間と機械の相互作用に興味があります。

Accept私がよく理解している場合、側面の1つは、リクエストのヘッダーに応じてXHTMLフォームをクライアントに返すことができるかどうか(デフォルトではJSONとXMLはフォームをサポートしていないため)のコンテンツネゴシエーションです。

Itemリソースをリソースに追加できる単純なシナリオがあるとしCartます。APIはJSONとXMLのみをサポートします。私が一般的に行っていることは、クライアントにリソースへPOSTItemリソース表現を提供したいということですCart。これはうまく機能します。ただし、クライアントはセマンティクスを認識している必要があり、リソース表現の構造を正確に知る必要がありますItem。そうしないと、エラー400(不正な要求)が発生するためです。

次に、フォームを使用すると、に何を投稿するかについてクライアントにガイダンスが提供されるため、フォームを使用する方が簡単だと思いましたCart。しかし、問題があります。たとえば、XHTMLではOOTBがサポートされていますが、JSONやXMLはサポートされていません(Collection-JSONなどを使用している場合を除く)。次に、JSONとXMLのフォームをサポートするためにカスタム実装を提供できますが、これにはクライアントがセマンティクスを理解する必要があり、リソース表現を投稿するよりもフォームを使用してもメリットはありません。

質問: フォームを使用する必要があるシナリオがあるかどうか、またはリソース表現をPOSTするよりも使用する方が望ましいかどうかを明確にしてください。公式のガイダンスはありますか?

質問2: APIとクライアント間のほとんどすべての通信がJSONまたはXMLであるXHTML形式のフォームをわざわざ使用しますか、それともカスタムフォームを含めるためにXML / JSONを変更しますか?

多分私はそれについて何かが欠けているので、私を正しい軌道に乗せることを躊躇しないでください:)

4

1 に答える 1