有关隧道的REST API规则


11

只需在REST API规则手册中阅读以下内容:不得使用GET和POST来传送其他请求方法

隧道是指对HTTP的任何滥用,它们会掩盖或错误表示消息的意图并破坏协议的透明性。REST API不得通过滥用HTTP的请求方法来折衷其设计,以适应具有有限HTTP词汇量的客户端。始终正确使用本节中的规则指定的HTTP方法。[我的重点]

但是随后,由于只了解和,许多框架使用隧道来通过HTML表单公开REST接口。我最近的示例是一个for flask(由框架的作者提交):http : //flask.pocoo.org/snippets/38/<form>GETPOSTMethodRewriteMiddleware

在Web框架中没有黑客或附加组件的情况下,有什么方法可以遵守“规则”?

Answers:


4

不,没有。因此,如果需要,无论如何都要打破规则。

我不知道有什么大不了的。协议始终封装其他协议。例如,TCP / IP具有四个这样的抽象

当然,更好的途径是让客户端使用该程序并正确支持HTTP动词。但这不是一个完美的世界。


谢谢,反正每个人都在做(正如您提到的,其他协议是按设计做的)。我发现如此清晰地写下“规则”感到有些惊讶。
miku 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.