3

WebApi フレームワークで HttpPost の代わりに HttpGet を使用する理由

Post または Get タイプの違いをよく理解しています.1つはURL経由で、もう1つはそうではありません(基本的な理解として)

しかし、主な違い(サーバー上で編集できる)は、Postにはサーバーに送信するデータサイズに制限がないのに対し、GETタイプには制限があることも知っています

(2000文字(IEの制限)) GETリクエストの長さに制限はありますか?

大量のデータをコーディングしているときに、GET を介して制限データ サイズを超えるデータを送信することに不満を感じることがあり、サーバーがエラーとエラーを送信していることがわかりましたPOST

namespace somenamespace.Controllers
{
    public class someController : ApiController
    {
        [HttpPost] //<--- change all
        public somenamespace.Class getSomething(string key1, string key2) {
            return new someblabla.Models.Class.Class(key1,key2).getSomething();
        }
    }
}

したがって、POST は常に制限付きで機能しているのに、誰かが POST の代わりに GET を使用したい場合、なぜ良い理由になるのでしょうか。

私はWEB API .netについてのみ話しています。URL文字列(ページからページへの送信)を介して変数と情報を要求するか、GETのようなものを実装するのがより簡単になるかを知っています。

4

1 に答える 1

5

最終的には、いつでも好きなことを行うことができますが、標準のためだけでなく、コードを予測可能で使いやすいものにするために、いくつかの標準に従うことをお勧めします。

API を呼び出すと、RESTful な人々は次のように想定します。

  • GET リクエストはデータを取得するだけです - 変更、削除、作成ではありません

  • POST リクエストはリソースを作成します

  • PUT リクエストはリソースを更新し、副作用なしで何度でも実行できます

  • DELETE は、まあ、リソースを削除します

これは、すべての人の生活を楽にし、あなたとあなたの顧客の間の契約のようなものです.

API の RESTful 設計に関するこのリソースを読むことを強くお勧めします。これにより、人々が規則に従う理由が理解できるでしょう。

http://info.apigee.com/Portals/62317/docs/web%20api.pdf

于 2013-06-03T18:41:42.993 に答える