【问题标题】:Which REST verb to use?使用哪个 REST 动词?
【发布时间】:2015-04-21 14:38:37
【问题描述】:

我正在用 Python 构建一个非常简单的 REST 服务。它所做的只是接收一个 JSON 字符串,对其应用算法并发送回一个 JSON 字符串响应。我了解 GET、POST、PUT 和 DELETE 之间的区别,但似乎它们中的任何一个都不适合我的场景。

【问题讨论】:

    标签: python json django rest


    【解决方案1】:

    为此,您应该使用GET。它是唯一一个不会对底层系统进行更改的系统。

    【讨论】:

    • 好的,有道理。谢谢
    • 再三考虑,如果我的客户向我发送数据(json),使用 GET 是否有意义? POST 对这个应用程序有意义。
    • GET 是合适的,只要请求不改变服务器状态。使用请求数据的GET 请求没有任何问题。
    【解决方案2】:

    HTTP 方法GET 可以接受请求内容,但这种用例最好使用方法POST

    这是 Roy Fielding 所说的。见https://groups.yahoo.com/neo/groups/rest-discuss/conversations/messages/9962

    希望对你有帮助, 蒂埃里

    【讨论】:

    • 他不是这么说的。他说的是,如果您可以在 GET 中包含消息正文,但您不应该依赖您的服务器对其进行处理。但是,有问题的字符串也可以很容易地成为参数而不是消息负载。
    • 嗨,我理解你的观点 ;-) 并且确定输入字符串是否作为参数提供,我同意你的看法。但是,我不会使用 GET 方法在请求内容中发送数据(“所以,是的,您可以使用 GET 发送正文,不,这样做从来没有用处。”)。例如,Restlet 框架在其客户端 API 中不再支持此功能。
    • 我认为很大程度上取决于字符串的大小和复杂性。如果它真的很简单,那么也许它应该只是几个参数而不是 json - 如果它会很复杂,那么它应该在消息正文中,这意味着 POST 会更合适。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 2010-12-12
    • 2012-08-28
    相关资源
    最近更新 更多