POSTリクエストを次のようなURLに送信したい:
http://localhost/resource?auth_token=1234
そして本文にJSONを送りたい。私のコードは次のようになります:
var client = new RestClient("http://localhost");
var request = new RestRequest("resource", Method.POST);
request.AddParameter("auth_token", "1234");
request.AddBody(json);
var response = client.Execute(request);
auth_token
パラメータをGETパラメータにして、リクエストをPOSTとして作成しますか?
これは、1)トークンをリソースのURLに追加し、2)次のようにParameterType.UrlSegmentを指定した場合に機能します。
var client = new RestClient("http://localhost");
var request = new RestRequest("resource?auth_token={authToken}", Method.POST);
request.AddParameter("auth_token", "1234", ParameterType.UrlSegment);
request.AddBody(json);
var response = client.Execute(request);
これは理想とはほど遠いですが、私が見つけた最も簡単な方法です...まだもっと良い方法を見つけたいと思っています。
RestSharpの現在のバージョンには、テンプレートを利用する短いメソッドがあります。
var request = new RestRequest("resource?auth_token={token}", Method.POST);
request.AddUrlSegment("token", "1234");
または、テンプレートなしでパラメータを追加できます。
var request = new RestRequest("resource", Method.POST);
request.AddQueryParameter("auth_token", "1234);
または
var request = new RestRequest("resource", Method.POST);
request.AddParameter("auth_token", "1234", ParameterType.QueryString);