小编Ben*_*ict的帖子

CQRS 中的 HTTP REST 响应

我正在构建 HTTP REST API 并为 API 实现 CQRS、DDD、ES 和微服务概念。

例如,我想为订购系统构建 API。订单包含订单状态、客户数据、员工数据、购物车项目、运输数据。订单命令服务和订单查询服务使用不同的代码,不同的数据库。和不同的IP/端口。

客户数据包括客户 ID、名字、姓氏、联系电话等。销售和员工等员工数据包括员工 ID、电子邮件、姓名和角色。送货数据包括送货地址、城市、邮政编码、送货单、送货方式和送货费用。购物车项目包含产品 ID 和数量。客户数据、产品数据、员工数据和运输方式数据来自其他服务。

当我想开发它时,我有两个问题。

  1. 当我构建 POST 方法以从销售/员工创建新订单时,请求有效负载中应该包含什么?是否可以只发送客户 ID 和员工 ID 作为请求负载?还是应该将客户姓名和联系电话作为有效负载发送?
  2. 当我构建 POST / PUT 方法时,我应该返回响应代码 200 吗?响应中应该包含哪些内容?例如,我只在员工创建新订单时将客户 ID 和员工 ID 发送到订单命令服务。响应正文是否应该显示包含其他服务结果的完整订单数据(例如来自客户 ID 的姓名和联系电话等)?不仅如此,非规范化系统相当慢。需要非规范化器来获取客户和员工的详细信息。这取决于网络延迟和其他服务响应。但是,用户希望立即获得订单数据。

我应该怎么做才能以正确的方式开发 HTTP REST API?

谢谢你。

http-put cqrs

2
推荐指数
1
解决办法
2396
查看次数

标签 统计

cqrs ×1

http-put ×1