c# - Web API HttpDelete - 如何调用删除 API 方法并在 [FromBody] 中发送模型

标签 c# asp.net-mvc asp.net-web-api2 webapi http-delete

我试图通过发送 url 中的参数来调用 HttpDelete Restful Web API 方法。调用成功。

示例

string url = path + "deletemethodName?Id=" + Convert.ToInt32(idpamameter) + "&name=" + nameParameter;
                using (HttpClient client = new HttpClient())
                {
                    using (HttpResponseMessage response = client.DeleteAsync(url).Result)
                    {
                        if (response.IsSuccessStatusCode)
                        {
                            return Json(response.Content.ReadAsStringAsync().Result);
                        }
                       }
                }

有没有一种方法-在调用 HttpDelete 方法时,就像我们使用在正文中发送模型数据来调用 POST 方法一样,并在 API 方法中使用 [FromBody] 来访问模型数据,而不是将其发送到网址?

由于我的 HttpDelete 方法中有超过 5 个参数要附加到 URL 中 - 我希望发送模型数据。

提前致谢。

最佳答案

更高级别的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);

关于c# - Web API HttpDelete - 如何调用删除 API 方法并在 [FromBody] 中发送模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63609660/

相关文章:

c# - 如何使用自定义 DbDataReader 填充表值参数?

c# - WebAPI - 统一来自 ApiController 和 OAuthAuthorizationServerProvider 的错误消息格式

javascript - 将项目列表从 $.get() 传递到 MVC Controller

jquery - 如何在 mvc 中预览然后发布多个图像?

c# - ASP.NET MVC + EF脚手架实现EntityTypeConfiguration类后可以使用吗?

asp.net-mvc - 将 Action 渲染到字符串

.net - 为什么本地主机上的客户端和服务器之间存在时间差

asp.net - token 处理程序无法将 token 转换为 jwt token

c# - 我对 COM 和跨平台兼容性感到困惑

c# - 使 EF 使用 App_Data 文件夹中的本地数据库