gpt4 book ai didi

java - REST网络服务: which HTTP method to have server to do some processing

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:32 25 4
gpt4 key购买 nike

我是 REST 新手,我知道资源的概念是 RESTful 服务的核心。假设我创建了一个 RESTful 服务,它允许用户在我的 HashMap 中创建/读取/更新/删除一些对象(一个对象是 CustomerOrder,其中包含 orderId 之类的内容和他们订购的菜肴列表)。

这很容易转换为 REST,我可以用 GET 来读取订单,用 DELETE 来删除订单,用 POST 来创建新订单,用 PUT 来更新订单。

但是,假设我的应用程序有一些名为 processCustomerOrder(int orderId) 的方法,该方法从 map 中检索订单,然后将订单简单地发送到另一个处理订单的 Web 服务。我希望我的前端网站有一个“处理订单”按钮,它将调用该方法,并且我的服务器将仅返回一个类似“订单处理成功”的字符串。

我说的对吗?这应该只是具有不同路径的另一个 GET 方法?例如:

path=restservice/processRequest 
httpmethod=GET
param=orderId

或者这是否违反了 RESTful 设计的规则,因为我实际上没有获得任何资源?

最佳答案

你当然可以这样做。在这种情况下,资源就是方法(方法也是资源,因为你可以做一些处理,返回消息或其他实体,所以它是关于哪种处理并不重要)。

String 是有效的响应实体 ( JAX-RS Response Entity Types )。

您可能对子资源方法定位器感兴趣:http://docs.oracle.com/javaee/6/tutorial/doc/gknav.html#gklag .

关于java - REST网络服务: which HTTP method to have server to do some processing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18450577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com