我有一个Controller具有以下操作的 WebApi2 :[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;但是,该description值未到达操作,并且始终为空。我在这里做错了什么?
1 回答
小唯快跑啊
TA贡献1863条经验 获得超2个赞
您的 HttpClient 需要 Json,而不是表单内容。要更改它,您需要将Content-Type
header更改为application/x-www-form-urlencoded
. 有了这个,api 应该能够正确协商内容类型并解析数据。
- 1 回答
- 0 关注
- 156 浏览
添加回答
举报
0/150
提交
取消