假设我有一个POST /orders
将订单项目集合作为输入的操作。一个订单不能包含超过 50 件商品,但我在哪里执行此验证?
在客户端和服务器中验证订单大小将是多余的,如果我决定更改订单大小限制,则会增加维护成本。
仅在服务器中对其进行验证将防止客户端“快速失败”(即,您将一千件商品添加到订单中,并且仅在完成时才被告知限制)。
我假设客户端验证不是一个选项,因为 API 可能有其他客户端。
如果我有动态验证规则,问题会变得更加复杂。假设零售客户可以订购 50 件商品,但批发客户的订单中可以订购 500 件商品。API 是否应该公开一个操作,以便客户端可以获取当前的验证规则?