職場では、大文字と小文字を区別するREST apiでエラーが返されることなく、スペルが間違っているパラメーターを無視する問題が発生しました。私の意見では、これは悪いです。
REST APIは大文字と小文字を区別するか、区別しないか?
各アプローチの長所と短所は何ですか?
他の人が答えたように、APIを作成するURLのHTTP部分では大文字と小文字が区別されます。これは、URIパスがファイルシステムパスにマップされ、ファイルシステムパスでは大文字と小文字が区別されるUNIXの規則に従います。一方、Windowsはパスの大文字と小文字を区別しないという慣習に従います。
ただし、大文字と小文字のみが異なる2つのパスを使用することは、Unixでの習慣として不適切です。さらに、パスは小文字であることが期待されます。
したがって、慣例を破らないようにしましょう。
そして
決してコヘキシストにしないでください。さらに、products
よりもProducts
を優先する必要があります。 Products
が404を返すか、301をproducts
に戻すか、または単にproducts
のエイリアスにするかはスタイルの問題です。それはあなたの選択ですが、一貫性があります。
Stack Overflow APIは、標準的に小文字と大文字と小文字を区別しません。これにより、クライアントにとって生活が最も簡単になると同時に、デフォルトが明確になり、ほとんどのユーザーにとって当然のことと思います。
結局のところ、大文字と小文字の区別とから正直に利点 -)名前が重複していますか?
HTTP URLは、スキームとホスト部分では大文字と小文字を区別せず、パス、クエリ、フラグメントでは大文字と小文字を区別します。
http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-25#page-19
職場では、大文字と小文字を区別するREST apiでエラーが返されることなく、スペルが間違っているパラメーターを無視するという問題が発生しました。
その後、それをしないでください。パラメーターを検証します。 「欠落」パラメータを強制します。そもそも悪いリクエストを送らないでください。 APIに準拠すること、特にそのようなレベルのパラメーターの正しいスペルは、大きな負担ではありません。
REST APIは大文字と小文字を区別するか、区別しないか?
前述のとおり、URLは大文字と小文字が区別されるため、ここでは交渉の余地はあまりありません。 url/parametersをアップ/ダウンシフトすると、誰もが混乱し、URLが一意ではなくなります。繰り返しますが、実装者が適切なURLを使用することを期待することは極端な要求ではありません。これらのURLは(ほとんどの場合)ランダムな人が入力するのではなく、コードまたはWebページを実装しています。最後に、これはエントリポイントURLにのみ影響します。残りのURLは、HATEOASをフォローしているため、ペイロードから持ち上げた直接コピーである必要があります。これらのURLを混乱させてはならず、単純に逆戻りしてください。
単純に、大文字と小文字の区別が問題である場合、あなたはそれを間違っています。
各アプローチの長所と短所は何ですか?
利点は、一貫性、明快さ、およびAPIの適切な実施です。欠点はありません。