例:あなたの体のコンテンツを作成
:
var example = "Hello World";
Dictionary<string, string> pairs = new Dictionary<string, string>();
pairs.Add("ExampleData", example);
var formContent = new FormUrlEncodedContent(pairs);
var response = await PostAsync(YourRouteToRestApi, formContent);
をPostメソッドは、次のようになります。
あなたが持っている今
public async Task<string> PostAsync(string apiCall, HttpContent data)
{
var client = new HttpClient();
try
{
var response = await client.PostAsync(apiCAll, data);
return await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
// do something
}
}
クリーンURL、何百ものなしで?param=args
。
それはあなたがあなたのパラメータを保持Collection
を作成する場合、オブジェクトにすべてのあなたのparamaterをカプセル化する、またはすることが可能である場合(のようなSouvikゴーシュが提案)。 Dictionary
データではなく、PosAsync
メソッドでこのオブジェクトまたはコレクションを渡すことができます。
したがって、HttpClient
はJsonのシリアル化を処理します。あなたのWEBAPIで
あなたはこのように、このデータを得るでしょう:
public void Post([FromBody]YourObject stuff)
{
// do something
}
は、要求本体にオプションをデータを渡していますか? – croxy
私はそれを考えていません。それについてどうやって行きますか?ちょうど今言及した後で少し読んでいますが、URLのリクエストの本文を直接変更できないため、ローカルでMVCプロジェクトをテストする方法がわかりません。 – geostocker
RESTサービスを介してデータを送信する場合は、まずコレクション(List、Dictionaryまたは任意のカスタムIEnumerableコレクション)にデータを格納する必要があります。データのコレクションはJSON形式に簡単に解析され、POSTメソッドを使用してRESTサービスで送信できます。ただし、クライアントとRESTの両方のサービスについて考慮する必要があるJSONのサイズには、いくつかの制約事項があります。 –