OK、サーバー上の何かの状態を更新するためにRESTful呼び出しを行うときにHTTPGETを使用すべきではない理由を紙ですでにすべて知っています。したがって、毎回異なるデータを返す可能性があります。そして、私はこれが次の「紙の上の」理由で間違っていることを知っています:
- HTTPGET呼び出しはべき等である必要があります
- N> 0の呼び出しは、常に同じデータを取得する必要があります
- HTTP仕様に違反している
- HTTP GET呼び出しは、通常、読み取り専用です
そして、私はもっと多くの理由があると確信しています。しかし、「まあ、それはHTTP仕様に違反しています!」以外の正当化のための具体的な簡単な例が必要です。...または少なくとも私は1つを望んでいます。上記のリストに沿った次の内容もすでに読んでいます。GET呼び出しでサーバーに何かを書き込むと、RESTfulに違反しますか?& URLクエリパラメータを使用したHTTP POST-良いアイデアかどうか?
たとえば、誰かが上記を正当化でき、次のRESTful呼び出しでHTTPGETを使用することが間違っている/悪い習慣/間違っている理由
"MyRESTService/GetCurrentRecords?UpdateRecordID=5&AddToTotalAmount=10"
私はそれが間違っていることを知っていますが、うまくいけば、それが私の元の質問に答える例を提供するのに役立つでしょう。したがって、上記では、recordID=5をAddToTotalAmount=10で更新してから、更新されたレコードを返します。POSTを使用する必要があることはわかっていますが、GETを使用したとしましょう。
私の質問にどの程度正確に答えることができますか、またはこれが実際の問題を引き起こす可能性がありますか?上記の箇条書きのすべての違反以外に、HTTP GETを使用して上記を実行すると、実際の問題が発生する可能性がありますか?「ドキュメントがそう言ったので」で物事を正当化できるシナリオに何度も遭遇しますが、これについては正当化とより良い理解が必要です。
ありがとう!