2012-04-26 5 views
1

XMLを生成して使用するいくつかのWebサービスを作成しています。 JAXBでTomcat 6.xのJersey 1.xを使用する予定です。RESTfulウェブサービスの経験則

私が調べる必要があるのは、これらのサービスを作成する際に従うべきルールはありますか? PUTやGETを行うときの一般的なプラクティスは何ですか?消費者は応答、状態、またはオブジェクトが返されることを期待していますか?

私はこれらのシナリオのすべての例を読んで見てきましたが、それぞれの作者/ブロガーと、これらの同じシナリオに別々に対処しているように見えます。

これをしばらくやっている人からの提案はありますか?

おかげ

答えて

1

誰もが同意するかに同意するように見えるいくつかのこと:

  1. 無効な要求がHTTP 400コードを返します。 500は「予期しない例外」のためだけに使用されるべきです。
  2. 明確な基準はありませんが、Clean URLsを試してみてください。前述の利点の上に、必要に応じてリバースプロキシを設定するのが簡単になります。
  3. HTTPメソッドでは、GETとDELETEについて合意があるようですが、PUTまたはPOSTのどちらが作成または更新されるかについての議論があります。 this discussionを参照してください。最後に、一部のプロキシまたはWebサーバー(IISのユーザー)は、GETとPOST以外の処理を常に簡単に行うわけではないため、実際の方法を指定するために追加のX-HTTP-Method-Overrideヘッダーに頼らざるを得ません。
  4. Acceptヘッダーを尊重し、要求されたタイプの内容を返す必要があります。テキストタイプ(XML、JSON、プレーンテキスト、HTML)が最も一般的ですが、これらのすべてをサポートしたくない場合もあります。

RESTの魅力は、そのシンプルさです。このようにしておいてください。シンプルで、サービスを文書化するのは簡単で、それが実際のキーです。POSTやPUTを使用するのではありません。

関連する問題