gpt4 book ai didi

java - 对 PUT/POST 的 RESTful 响应

转载 作者:行者123 更新时间:2023-11-30 04:37:28 25 4
gpt4 key购买 nike

在 POST/PUT 上返回一个稍微不同的对象(例如发送到服务器的对象)是否符合 REST 风格?

示例:

客户端向服务器发送(POST/PUT)订单以创建订单。服务器发送一个响应对象,我们将其称为 OrderResponse,其中包含创建的 Order 的属性以及一些不同的信息,例如交货时间、付款条件等。这是 RESTful 还是我应该返回一个 OrderId 并提供一个新服务,客户端可以在其中检索 OrderResponse

编辑:

我无法向客户提供新订单的 URL,因为订单未保存在数据库中。我的应用程序通过消息传递将订单发送到第三方系统,我无法从中读取订单,但第三方系统向我发送了一些附加信息,我将其添加到 OrderResponse 中。

最佳答案

我不会将 OrderOrderResponse 视为不同的资源。它们属于同一类型。只是客户端不能也不应该知道该资源的所有细节。例如,确切的 ID 由服务器分配。

  • 使用相同的资源,但可能具有不同的表示形式。
  • 在对 POST 请求的 HTTP 响应中返回一个 Location header ,其中包含创建的 Order 的 URI。
  • 使订单的表示和此URI比客户端POST的表示更加完整。

关于java - 对 PUT/POST 的 RESTful 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13135234/

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