问题描述
我想了解HTTP动词的所有可能性。
- 我们可以使用HttpGET发布新记录吗?
- 我们可以使用HttpPOST,HttpPUT或HttpDelete获取数据吗?
这些是我在采访中被问到的几个问题。
除了这些之外,还可以通过Web api操作方法完成其他任何技巧或调整,以使它们执行除其含义之外的操作吗?
解决方法
HTTP谓词实际上是决定与路由定义一起在控制器上调用哪种操作方法的另一个难题。
每个动词的行为方式和用法显然存在约定,但是一旦您采用了一种动作方法,您就可以自由地做任何您想做的事情。
您可以从GET甚至DELETE创建记录,当然可以从POST返回数据。回到约定,但是,通常,例如,您通常不希望在GET请求的正文中接收数据,这意味着如果要在URL或查询字符串中全部传递数据,则提供足够的数据来创建某些内容可能会变得很笨拙。