【发布时间】:2021-05-18 23:30:40
【问题描述】:
我正在为 Invoice 实体开发一个微服务 API,该 API 接受输入采购订单项目(即 PO 项目)标识符s 的列表,例如。 PO# + productIdentifier 一起可以用来唯一标识一个 POItem。 API 的响应是 每个 PO 项目的发票d 数量。
输入模型 -
input GetInvoicedQuantityForPOItemsRequest {
poItemIdentifierList : POItemIdentifierList
}
结构
list POItemIdentifierList {
member : POItemIdentifier
}
structure POItemIdentifier {
purchaseOrderNumber : String,
productIdentifier : Long
}
POItem 的发票数量 = 从该 PO 项目创建的发票项目数量的总和。
注意:一个采购订单可用于创建多个发票。可以从多个 PO 创建发票。
我对 REST 很陌生,到目前为止,我们一直在旧服务中使用 RPC 端点。但现在我正在构建一个新服务,我在其中以 REST 格式定义端点(例如,CreateInvoice 已更改为 POST /invoice)并且 我需要一些来自 Stack Overflow 社区的建议,什么是定义此 API 的 REST 端点的正确方法,或者我们应该将其保留为 RPC 格式本身。
旧系统中此 API 的 RPC 端点:POST /getInvoicedQuantityForPOItems
我们对 REST 的第一次尝试是:POST /invoice/items/invoicedQuantityForPOItems。但是这个 URI 看起来不像是一个名词,它是一个动词。
【问题讨论】:
标签: microservices domain-driven-design invoice purchase-order