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

天涯尽头无女友
TA贡献1831条经验 获得超9个赞
查看您正在解决的问题并与现有的生产解决方案进行比较,我建议您可以在您的场景中使用 POST。
推理 - 解决类似问题的示例生产代码:-
假设您要解决的问题是:- 客户端以 Go 编程语言提交代码,您的服务器对其进行编译、运行,然后给出输出。也假设它有点类似于hackerEarth等许多在线编码网站,他们的API文档页面和提供的示例python代码表明我们可以使用HTTP:POST将代码提交给服务器进行处理。
推理 -用于 HTTP POST、PUT 的 RFC :-
POST 被设计成允许一个统一的方法来覆盖以下功能: 提供一个数据块,例如提交表单的结果,给数据处理过程;
PUT 方法请求将封闭的实体存储在提供的 Request-URI 下。如果请求 URI 引用了一个已经存在的资源,则包含的实体应该被视为驻留在源服务器上的实体的修改版本。
参考上面的陈述,我们可以得出结论,在您解决的这个问题的上下文中,您正在请求服务器对封闭的实体进行一些数据处理,因此您可以使用 POST。
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消