【问题标题】:Which HTTP method to use for this client request?此客户端请求使用哪种 HTTP 方法?
【发布时间】:2016-03-23 15:18:13
【问题描述】:

我正在用 Java 开发一个 REST Web 服务,它根据客户端的请求处理请求正文并将输出提供给客户端。客户端发送的请求正文包含一个 GO(编程语言)程序,服务器在服务器机器上执行(运行)该程序,并将程序的标准输出返回给客户端。现在由于请求正文包含一些文本(程序),我不能使用 HTTP GET 方法来做到这一点。我可以使用 PUT 或 POST,但我了解到它们(PUT 和 POST)通常用于更新/创建资源。因为,我没有在这里创建任何资源,所以使用 PUT 或 POST 在概念上是否正确。如果不是,我需要使用哪种 HTTP 方法?

【问题讨论】:

    标签: java web-services go


    【解决方案1】:

    查看您正在解决的问题并与 existing production solution 进行比较,我建议您可以在您的场景中使用 POST。

    • 推理 - 解决类似问题的示例生产代码:-

    假设您要解决的问题是:- 客户端用 Go 编程语言提交代码,你的服务器编译它,运行它,然后给出输出。还假设它与许多在线编码网站如hackerEarth有些相似,他们的API documentation页面和提供的示例python代码表明我们可以使用HTTP:POST提交代码到服务器进行处理。

    POST 旨在允许统一的方法涵盖以下功能: 提供数据块,例如提交结果 表单,数据处理过程;

    PUT 方法请求将封闭的实体存储在提供的 Request-URI 下。如果 Request-URI 引用了一个已经存在的资源,封闭的实体应该被认为是在源服务器上的一个修改版本。

    • 参考上述陈述,我们可以得出结论,在您正在解决的这个问题的上下文中,您正在请求服务器对封闭实体进行一些数据处理,因此您可以使用 POST。

    【讨论】:

    • 酷thanx..最佳答案!
    猜你喜欢
    • 2020-01-08
    • 2010-09-12
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2022-01-19
    • 2018-04-29
    相关资源
    最近更新 更多