这是一个通用的架构问题,而不是代码示例或特定代码解决方案的请求。
在多层应用程序中,我们有两个主要的处理服务层验证选项:
PRO 是轻量级服务层签名,但另一方面,有可能在各地抛出异常的开销,因为异常本身并不是人们可能想要的最便宜的选项。重新考虑这个选项。
类型可能类似于(伪代码):
class ServiceResponse{
boolean IsOk;
array ErrorMessages;
object OkResponse;
}
这也符合REST服务(虽然问题不在于它们),其中Http响应消息实际上充当ServiceWrapper及其StatusCode和Content。
您更喜欢在服务层中使用哪种方法?为什么?
答案 0 :(得分:0)
如果我正确理解您的问题,您的服务层就是您在UI层中注入或依赖的某种库。在这个级别抛出异常会更好。如果你决定**物理上分离**服务层并通过API层(REST)公开它。您始终可以在API层捕获这些异常,并使用正确的http代码和异常消息返回http响应。所以是的,坚持开始时的例外。