c# - 如何将字符串参数传递给 DELETE WebAPI 端点

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

当创建一个新的 ASP.net WebAPI Rest Controller 时,visual studio 会像这样添加一个 DELETE 操作

// DELETE: api/foo/5
public void Delete(int id)
{
}

我可以成功调用那个端点

但是我系统中的“id”是字符串哈希,所以我需要将“id”作为字符串而不是 int 传递,例如

// DELETE: api/foo/58c75babbf61cda99c84af8b
public void Delete(string id)
{
}

但是当我更改它时,不再调用 DELETE 操作并且我收到错误 “找不到与请求 URI 匹配的 HTTP 资源”

有什么想法吗?以及如何解决这个问题?

最佳答案

可以自己指定路由模板,在里面,指定id是一个guid:

[HttpDelete, Route("api/foo/{id}")]
public void Delete(string id)
{
}

关于c# - 如何将字符串参数传递给 DELETE WebAPI 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42915315/

相关文章:

c# - 如何在安装项目中包含和链接 Sqlite 数据库文件

c# - 将服务器端生成的 PDF 发送到浏览器

java - 如何使用 REST API 和 POST 问题登录 JIRA

rest - Jersey 与 javax Servlet 发生冲突

c# - 从 Azure 中提取显示在 MainPage 和 ItemPage 上的数据

c# - 如何使用 nhibernate、linq 创建搜索功能?

c# - 关于具有私有(private)、公共(public)和 protected 构造函数的抽象类的一些问题

JavaScript 运行时错误 : Control ClientID is undefined

javascript - ASP.NET 模态弹出扩展器

json - 收到不支持的媒体类型错误