うーん...私はここにStackOverflowで質問をたくさん読んで、まだそれのための答えが得られませんでした、私はこのウェブAPIコントローラを持つヌルPOSTデータを送信しますそれに小さなテスター:はHttpClientを
static void Main(string[] args)
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:54916/");
client.DefaultRequestHeaders.Accept.Clear();
var content = new StringContent("<data>Hello</data>", Encoding.UTF8, "application/json");
var response = client.PostAsync("api/ERS?ID=123", content);
response.ContinueWith(p =>
{
string result = p.Result.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
});
Console.ReadKey();
}
私は常にAPIのパラメータData
にNULL
を取得します。
私はテスターにこれらの行を追加してみました:
var values = new Dictionary<string, string>();
values.Add("Data", "Data");
var content = new FormUrlEncodedContent(values);
まだ
NULL
:
client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));
まだNULL
、私はまたしてコンテンツを置き換えます。
私はへの切り替え要求を試してみました:
WebClient client = new WebClient();
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
var values = new NameValueCollection();
values["Data"] = "hello";
var task = client.UploadValuesTaskAsync("http://localhost:54916/api/ERS?ID=123", values);
task.ContinueWith((p) =>
{
string response = Encoding.UTF8.GetString(p.Result);
Console.WriteLine(response);
});
が、デバッガはまだ言って 'NO!' Data
はまだNULL
です。
私は問題なくIDを取得します。
追記では、 'こんにちはは'コンテンツタイプが –