2012-03-05 4 views
1

私は可能な限りHTTPに準拠するようにAPIを設計しています。これには、特定の応答コードを送り返し、Acceptヘッダーを使用してバージョンと応答タイプを指定することが含まれます。APIデザイン - 400で役に立つエラーメッセージに答える最良の方法は何ですか?

私はこれが主観的に見えるかもしれないと私は理解していますが、これを行う従来の方法があると確信しています。 APIがサポートする一連の応答タイプと、タイプとバージョンを指定するベンダー固有のMIMEタイプがあります。

現在、クライアントが存在しないバージョンまたはタイプを指定すると、空のボディで400 Bad Requestを返すだけですが、有用なエラーメッセージを返したいと思います。レスポンスタイプがわからない場合は、プレーンテキスト(またはJSONにデフォルト設定)で応答するのが少し汚いと感じます。私が紛失しているヘッダー、または私が従うべきコンベンションがありますか?私はオフセットからこの1つを取得したい。

おかげで、そして私の最高の、

ジェイミー

答えて

3

ステータスコード406を受け入れることはできません。

+0

素晴らしい、それはする必要があります。ドキュメンテーションに明示的な指示を追加して、不正なバージョンまたはコンテンツタイプがHTTP 406になることを明記します。Cheers、Micheil。 –

2

http://support.microsoft.com/kb/943891/

は、これは、Microsoft IISでサポートされているHTTPサブコードのリストです。このページは、さまざまなエラーを処理するために使用するメッセージについてのいくつかの洞察を提供しているので、このページは便利です。ヘッダーを参照するいくつかのHTTPサブコードがあります。