我正在开发一个Java的REST Web服务,它根据客户端的请求处理请求主体并将输出提供给客户端。客户端发送的请求主体包含GO(编程语言)程序,服务器在服务器机器上执行(运行)程序,并将程序的标准输出返回给客户端。既然请求体包含一些文本(程序),我就不能使用HTTP GET方法来做到这一点。我可以使用PUT或POST,但我了解到它们(PUT和POST)通常用于更新/创建资源。因为,我不是在这里创建任何资源,使用PUT或POST在概念上是否正确。如果不是,我需要使用哪种HTTP方法?
答案 0 :(得分:2)
查看您正在解决的问题并与existing production solution进行比较,我建议您在方案中使用POST。
假设您要解决的问题是: - 客户端使用Go编程语言提交代码,您的服务器编译它,运行它然后给出输出。假设它有点类似于许多在线编码网站,如hackerEarth,他们的API documentation页面和提供的示例python代码表明我们可以使用HTTP:POST将代码提交给服务器进行处理。
POST旨在允许统一的方法来涵盖以下功能: 提供一个数据块,例如提交的结果 形式,数据处理过程;
PUT方法请求将所包含的实体存储在提供的Request-URI下。如果Request-URI引用已存在的资源,则封闭的实体应该被视为驻留在源服务器上的实体的修改版本。