【发布时间】:2017-02-03 10:04:07
【问题描述】:
假设有一些管理器类与远程服务对话,例如,与可以创建新用户和更新现有用户配置文件的用户微服务对话。这个管理器类在代码中无处不在:在控制器和其他类中。在与远程服务交谈之前,我们的经理类不知道提交的 DTO 是否有效。问题是:如果远程服务返回验证错误,下一步该怎么做?如何处理这个错误?我已经考虑过了,并且有一些选择:
- 验证失败时抛出异常
- 将收集验证错误的 Errors 对象传递给管理器
- 在管理器类中创建方法 getLastErrors()
也许还有其他更好的解决方案?
附言假设远程服务返回 JSON 格式的错误,不管是 JSON-RPC、SOAP 还是 REST 微服务。
【问题讨论】:
-
什么是“服务等级”?您是指服务消费者吗?
-
这个服务是 RESTful 的吗?还是基于 SOAP?
-
我已经更新了我的问题,希望它变得更加清晰。是 SOAP 还是 RESTful 并不重要,想象一下返回的是 JSON 响应
标签: validation design-patterns architecture soa dto