1

フィドラーを使用して、作成中の Web API サービスをテストしています。

www.example.com/api/Book?Id=123&category=fiction.

GET を使用しながら、パラメーターをサービスに渡す他の方法はありますか。

4

1 に答える 1

2

パラメーターを渡すために使用できる HTTP 要求の多くの部分、つまり URI、ヘッダー、および本文があります。GET リクエストにはボディがありません (一部のフレームワークでは実際にそれが許可されていますが、一般的ではないため、すべての目的で、できないと仮定しましょう)、ヘッダーと URI に限定されます。

URI では、さまざまな場所でパラメーターを渡すことができます。

  • クエリ文字列 (既に行っているように)
    • 例: www.example.com/api/Book?Id=123&category=fiction
  • リクエストパス
    • 多くのフレームワークでは、リクエスト URI のパスからアクションへのパラメーターを取得できます。ASP.NET Web API では、通常、ルーティングを使用してこれを行います
    • 例: www.example.com/api/Book/fiction/123
  • #フラグメント内、または文字の後の URI の部分。URI RFCのセクション 3.5 を参照してください。
    • 例: www.example.com/api/Book?Id=123&category=fiction#somethingElse

HTTP 要求ヘッダーでパラメーターを渡すこともできます。ASP.NET Web API によって受け入れられるパラメーターの 1 つは、Acceptコンテンツ ネゴシエーションを行うときに使用されるヘッダーです。これらのヘッダーからカスタム パラメーターを期待し、アクションで読み取ることもできます (または、それらを読み取り、メソッド自体のパラメーターにマップする値プロバイダーを使用することもできます)。

于 2013-07-19T21:56:31.300 に答える