我有一个设计问题。
我应该如何将错误从java服务器(由REST API,JSON访问)传播到客户端?
目前我抛出异常。异常包含ERROR_TAG和变量。异常是序列化的,http-return代码对于业务和验证错误设置为422,对于技术或意外错误设置为500。
序列化异常不包含文本,只包含标记(=种类的异常)和变量(=详细信息,例如客户编号)。因此,客户端必须将异常转换为用户的可读格式。
一位朋友说这是一种愚蠢的行为,他希望服务器以完整的错误消息和不同的语言回答。在我看来,我开始在服务器中实现表示层问题...他认为许多客户端必须实现翻译(冗余源)...在这种情况下,我会提供一个默认的lib来进行翻译或者至少是翻译properyfile,每个客户都可以使用。
有关验证的更多信息:验证封装在服务器和客户端使用的lib(= jar)中(因此服务器不信任客户端,如果客户端想要加速,则不会复制任何源通过本地验证检查进行验证。)
对此设计问题有任何明智的看法吗?非常感谢。