JHipster:在客户端管理服务器响应

JHipster: Managing server response on client

我们如何处理客户端的服务器响应?一个简单的例子是,举个例子,实体上的 delete 操作失败了——目前 JHipster 正在 returning void。这在实际场景中可能并不理想。

我查看了描述类似问题的 SO post: REST API error return good practices

我计划实施错误 DTO 和 return 类似于 Twitter 所做的事情:

{"errors":[{"message":"Sorry, your delete operation failed due to following business constraint...","code":100}]}

问题仍然存在,我们如何才能使它在所有 API 调用中通用,即,我们是否必须将此错误 DTO 添加到所有域对象?

我个人认为将其连接到基本的 JHipster 框架中会很有帮助,而不是重新发明轮子。

事实上 JHIpster 的 REST 控制器 return 删除方法无效并不意味着它不能向客户端发送信息,如果出现问题,底层服务或存储库可能会抛出异常。此异常将由 ExceptionTranslator 作为 ControllerAdvice 转换为适当的 HTTP 错误状态。

如果它确实满足您的要求,则由您在控制器中编写您自己的异常解析程序代码,return您想要什么。

我不确定在删除失败时 returning 状态错误 200 (OK) 只是为了能够传递消息一定是最好的方法。错误不是 200,至少对于 HTTP 不是。