休息。提出订购请求

问题描述 投票:0回答:2

我有两个实体:Order 和 OrderItem。我应该使用一条还是两条路线来请求下订单?

一条路线:

POST /orders (也创建 OrderItems)

两条路线:

邮寄/订单

发布/订单项目

rest http post
2个回答
0
投票

这完全取决于您的具体要求和场景。

  • 如果您希望订单和 OrderItems 之间的原子性和一致性(如果您想保证订单和商品一起创建),请选择一种路线。
  • 如果您想要更大的灵活性,请使用两条路线,这允许您先创建订单,然后将项目与订单相关联。
  • 您可能需要创建工作流程以确保一致性。
  • 第二种方法使您的 API 更加模块化。

0
投票

仅使用包含所有订单列表详细信息的单个路由,如下所示

{
  "customerId": 123,
  "orderDate": "2024-09-23",
  "orderItems": [
    {
      "productId": 1,
      "quantity": 2,
      "price": 10.99
    },
    {
      "productId": 2,
      "quantity": 1,
      "price": 20.49
    }
  ]
}

这将确保订单及其项目在一笔交易中一起创建

© www.soinside.com 2019 - 2024. All rights reserved.