我们如何在客户端处理服务器响应?一个简单的例子就是说,例如,delete
操作在实体上失败了 - 目前JHipster正在返回void
。在实际情况下,这可能并不理想。
我查看了这篇SO帖子,其中描述了类似的问题: REST API error return good practices
我计划实施错误DTO并返回类似Twitter的内容:
{"errors":[{"message":"Sorry, your delete operation failed due to following business constraint...","code":100}]}
问题仍然存在,我们如何在所有API调用中使其通用,即,我们是否必须将此错误DTO添加到所有域对象?
我个人认为将这个连接到基本的JHipster框架将非常有用,而不是重新发明轮子。
答案 0 :(得分:0)
JHIpster的REST控制器为delete方法返回void并不意味着它不能向客户端发送信息,如果出现错误,可能会由底层服务或存储库抛出异常。 ExceptionTranslator将此异常转换为适当的HTTP错误状态。
如果它确实按照您的意愿行事,您可以在控制器中编写自己的异常解析程序并返回所需内容。
我不确定当删除失败只是为了能够传递消息时返回状态错误200(OK)必然是最好的方法。错误不是200,至少不是HTTP。