TL;DR 摘要:我可以为 HTTP GET、PUT 和 DELETE 配置 MVC Web API 路由吗?
我一直在考虑用私有 API 替换我们旧的数据访问层(基于 DataSet 和 TableAdapters 的 DLL),以期在成功时创建公共 API。我已经使用 MVC 4 完成了一些工作来更新我们的前端,并且喜欢使用它,因此在深入研究基于 WS 或 WCF 的库之前探索“Web API”项目类型似乎是明智的。
初始演示允许我很好地返回 XML/JSON,例如:
//service.url/api/Users
...返回用户列表,而特定用户的详细信息可以通过以下方式访问:
//service.url/api/Users/99
到目前为止,如此 RESTful。但是,为了真正将 URI 映射到资源,我想对上面列出的 URI执行HTTP PUT(新用户)或HTTP DELETE (删除用户)。在我为这些项目看到的所有示例中,以及 Visual Studio 中提供的 Scaffolds 中,都遵循以下约定:
//service.url/api/Users/创建
//service.url/api/Users/Delete/99
//service.url/api/Users/Update/99
... 等等。这对我来说就像是在回避这个问题,当那里的东西被很好地组合在一起时,这是一种耻辱!
关于如何最好地解决这个问题的任何想法?