私はRESTful APIを設計していますが、タイトルの問題に直面しました。
クライアントが認識されないパラメーターを送信した場合、高速で失敗する必要がありますか?例えば、
http://example.com/api/foo?bar=true&paula=bean
上記でbar
は、は有効なパラメーターですがpaula
、APIによって指定されていません。したほうがいい
- クライアントにエラーを警告する
- 早く失敗する
- それを無視します
クライアントに警告する場合、最初のパラメーターに対して警告を発行できるのは、ほぼ無限の数のパラメーターを送信している可能性があり、サーバーにはおそらくより良いことがあるからです。同様に、失敗すると、最初の無効なパラメータのみが問題として指定されます。
警告を出すよりもプログラマーに強制的に行動を起こさせるよりも失敗を好む。そうでなければプログラマーは問題を無視してリソースを浪費し続けるかもしれない。その点で何もしないのはさらに悪いことです。
私の議論は理にかなっていますか?そのようなことに関して受け入れられている慣行はありますか?
api/v1
などを使用することで対処できますが、それでも増分更新は許可されません。+1