我知道这是有争议的但是什么是正确的HTTP方法,只需要输入并执行逻辑并返回响应。
例如:如果我必须暴露一个带有整数并返回一些数字序列的REST端点?
答案 0 :(得分:2)
如RFC for HTTP protocol(https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)所述,HTTP方法可以是幂等的,不是:
方法也可以具有“幂等性”的特性(除了错误或期满问题之外)N的副作用> 0个相同的请求与单个请求相同。方法GET,HEAD,PUT和DELETE共享此属性。此外,方法OPTIONS和TRACE不应该有副作用,因此本质上是幂等的。
因此,如果您的逻辑显着改变了系统的状态 - 您最好使用非幂等方法 - POST
。如果通过调用服务方法对系统进行的所有更改仅记录到日志文件 - 请使用安全的HTTP方法,例如GET
。
答案 1 :(得分:0)
对我而言,因为你没有创建/修改/删除任何资源,所以应该是GET,但我想听听关于这一点的其他意见。
答案 2 :(得分:0)
你所说的并不像REST那样。这听起来更像是RPC调用。 POST
通常是“适合其他方法的任何东西”的正确http方法,通常用于RPC调用。