控制器操作未接收到请求正文中的内容

时间:2018-08-03 06:19:31

标签: c# asp.net-web-api

我有一个WebApi2 while old_size_df != new_size_df: old_size_df = df.size df = df[~((df['A'] == '') & (df['A'] == 'X').shift())] new_size_df = df.size A B C 0 X Val Val 3 X Val Val 4 Foo 1 2 5 3 4 6 X Val Val 7 Fou 1 2 8 3 4 9 X Val Val 10 Bar 1 2 ,它具有以下操作:

Controller

我正在发出如下请求:

[Route("{id:int}/Change")]
public async Task<IHttpActionResult> Change(int id, [FromBody] string description)
{
    var entity = await entityService.ChangeAsync(id, description);
    return Ok(entity);
}

但是,var content = new FormUrlEncodedContent(new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("description", descripton) }); response = client.PostAsync(string.Format("Api/Entity/{0}/Change", id), content).Result; 值没有达到动作,并且始终为空。

我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

您的HttpClient期望使用Json,而不是表单内容。要更改此设置,您需要将Content-Type标头更改为application/x-www-form-urlencoded。这样,api应该能够正确协商内容类型并解析数据。