所有功能,这是错误的使用POST在REST的一切吗?我知道POST是用于更新和创建的,但是如果我将它用于SELECTS和DELETS呢?我基本需要的是一个可以对数据库执行CRUD操作的Web服务。我使用PHP。另外,如果我使用查询字符串来执行POST请求而不是使用JSON或XML,该怎么办?使用POST在REST协议
回答
如果您在使用POST的所有操作,你真的不能称之为REST了。
因此,这没有错,但它没有其他的不是:)
这是错误的使用POST在REST的一切吗?
不能使用POST在REST一切(例如,仅用于请求,没有响应),所以关于对或错的问题不是一个有效的问题。
我知道POST是用于更新和创建,但如果我将它用于SELECTS和DELETS呢?
它通常只是工作。
我基本需要的是一个Web服务,可以对数据库执行CRUD操作。
这很好。
使用PHP的进出口。
也没关系。 PHP已经支持HEAD,GET和POST方法。对于PUT和DELETE方法,你需要做更多的编码。
另外,如果我使用查询字符串来执行POST请求而不是使用JSON或XML,该怎么办?
您使用查询字符串而不是JSON/XML请求主体。 REST没有指定协议,所以你可以随心所欲地做任何事情。使用“查询字符串”可能是PHP的一个好主意,因为PHP支持开箱即用。但这取决于您用于处理程序的内容或您想要支持的内容。
由于您的问题非常广泛,因此您可能需要先阅读REST的一些基本说明,以便更明确地询问:A Brief Introduction to REST。
是的,这是错误的。如果您使用POST进行除更新之外的其他任何操作,则实际上并不遵循REST约定。
你可以吃用叉子但为什么汤吗?无论如何,你可以使用任何方法,只是不要称之为REST协议。
是错误的使用POST对于那些意味着要重复呼叫。
POST调用不会被缓存而是让你不应该使用POST他们的选择调用应该是缓存能够(和重复)。
但是没有任何技术上的理由说明,为什么你不能通过POST强制所有的东西(特别是DELETE在所有的浏览器中都不支持),但是这确实意味着缓存对你的任何调用都不起作用,如果POST调用已经创建,用户可能无法刷新网页而不会被要求确认页面重新加载。
在这个REST教程here系列中的第4条说:
对于创建,更新和删除数据,使用POST请求。 (POST也可用于只读查询,如上所述,当需要复杂的参数注明。)
当然得到通常用于只读查询,因此把他们放在一起,如果复杂性是默认的假设,当在复杂性和简单性之间没有界限时,这是一种方便的假设,那么这个足够权限在REST上编写整个系列的人会说,发布一切都是可以的。缓存可能会对各种HTTP动词的反应做出一些假设,这可能是有益的,但是如果您的应用程序没有从缓存中受益(实际上,可能会因此受到伤害,所以禁用它或执行某些操作以免应用程序不受其影响),然后我不知道是否有任何问题。
- 1. 这是REST协议吗?
- 2. Paypal REST API - 结算协议
- 3. Http协议POST阅读
- 4. 在协议中使用UIView.animateWithDuration
- 5. 使用协议HTPPS
- 6. 使用Websocket协议
- 7. 在UDP协议上使用XMPP的柔性代码协议
- 8. Swift协议专用通用协议
- 9. PayPal REST API更新帐单协议
- 10. REST(json)web服务发现协议
- 11. 非HTTP协议上的REST示例
- 12. REST和HTTP协议有什么区别?
- 13. 通过REST发送协议缓冲区
- 14. REST Web服务和HTTP协议
- 15. HTTPS协议与REST API Webservices相关吗?
- 16. 从本地协议强制使用Javascript协议中的http协议
- 17. 使用Paypal REST api获取计费协议清单
- 18. 如何使用REST协议登录到WebService
- 19. 如何使用paypal REST API列出计划的协议
- 20. 使用Paypal的PHP REST SDK支付协议
- 21. 笨$ _ POST不工作有了REQUEST_URI协议
- 22. 如何使用UDP协议使SIP协议更可靠
- 23. 在UDP协议中的Tracerouting协议
- 24. 在ObjC协议上的协议扩展
- 25. 协议的哈希协议
- 26. WebDav协议VS HTTP协议
- 27. VUGen使用SAPGUI协议
- 28. 使用__attribute __((objc_requires_super))与协议
- 29. 使用Javascript输出协议
- 30. nutch使用的协议
你为什么不*使用适当的HTTP动词? – deceze
我只是问是否错误。 – Indy
Facebook使用GET进行所有功能。这也包括删除/更新。 – OptimusCrime