nii*_*ico 3 asp.net-web-api dotnet-httpclient asp.net-mvc-5 asp.net-web-api2
我有一个ASP.NET MVC 5网站-使用C#客户端代码,我可以使用HttpClient.PutAsJsonAsync(path,myObject)很好地调用Json API(该API也是在Web API中创建的)。
client.BaseAddress = new Uri("http://mydomain");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.PutAsJsonAsync("api/something", myObj);
Run Code Online (Sandbox Code Playgroud)
我想对Delete动词做同样的事情。但是client.DeleteAsync,不允许在体内传递对象。(我想在URI中记录删除原因以及要删除的项目的ID)。
有没有办法做到这一点?
由于上级DeleteAsync不支持身体,因此您必须在便利性上放弃一些,但是“长距离”这样做仍然非常简单:
var request = new HttpRequestMessage {
Method = HttpMethod.Delete,
RequestUri = new Uri("http://mydomain/api/something"),
Content = new StringContent(JsonConvert.SerializeObject(myObj), Encoding.UTF8, "application/json")
};
var response = await client.SendAsync(request);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4883 次 |
| 最近记录: |