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