Angular 如何在JHipster 4.13.2中的对话框弹出窗口上启用自定义UI错误消息
我很喜欢JHipster项目,非常感谢你的团队,这真的节省了很多时间。然而,我确实在一些事情上有点困惑。我的最新问题是关于在UI页面上获取自定义错误警报,特别是对话框弹出窗口-执行创建、删除、自定义操作等 要复制此问题,请创建任何实体或进入UserResource.delete()或createUser()REST函数,并强制引发异常(将!=更改为==)BadRequestAlertException异常,如下所示:Angular 如何在JHipster 4.13.2中的对话框弹出窗口上启用自定义UI错误消息,angular,jhipster,Angular,Jhipster,我很喜欢JHipster项目,非常感谢你的团队,这真的节省了很多时间。然而,我确实在一些事情上有点困惑。我的最新问题是关于在UI页面上获取自定义错误警报,特别是对话框弹出窗口-执行创建、删除、自定义操作等 要复制此问题,请创建任何实体或进入UserResource.delete()或createUser()REST函数,并强制引发异常(将!=更改为==)BadRequestAlertException异常,如下所示: if (userDTO.getId() == null) { thro
if (userDTO.getId() == null) {
throw new BadRequestAlertException("A new user cannot already have an
ID", "userManagement", "idexists");
我期待在user-management-dialog.component.html上显示错误,因为它具有声明的标记:
<jhi-alert-error></jhi-alert-error>
我显然遗漏了一些小东西?我真的很感激你的指点。
我在下面链接的其他帖子中读到了这篇文章,看起来应该有用。我尝试了一些建议,但它们是基于Angular和JHipster的旧版本。我的版本是4.13.3
"web-animations-js": "^2.3.1",
"classlist.js": "^1.1.20150312"
这些错误现在都像对话框弹出窗口上的符咒一样工作!!非常感谢。
JHipster开发人员干得好 您是否在浏览器控制台中检查了错误时得到的JSON响应?是的,400 BADDRequest确实作为响应通过,标题中填充了我的错误消息。我对代码进行了跟踪,并通过
handleAddressStaterException()
方法执行,该方法将标题设置为错误<代码>@ExceptionHandler(BadRequestAlertException.class)公共响应HandleAddressStaterException(BadRequestAlertException ex,NativeWebRequest request){返回创建(ex,request,HeaderUtil.createFailureAlert(ex.getEntityName(),ex.getErrorKey(),ex.getMessage());}有一个正文是<代码>{“entityName”:“userManagement”,“errorKey”:“idexists”,“type”:http://www.jhipster.tech/problem/problem-with-message“,”标题“:”新用户不能已经有ID“,”状态“:400,“消息“:”error.idexists“,”参数“:”userManagement”}我基本上只是在生成jhipster代码时使用它,并强制执行一个异常,以查看它们是否通过UI对话框弹出。到目前为止,我还没有做任何不同的事情,我正在尝试了解使用内置JHipster错误机制的首选方法,以便添加一些自定义响应错误。我忍不住觉得我忽略了一些小细节/配置或其他东西。如果我们能找到答案,它可能是JHipster常见问题解答页面的一个好项目。重新标记为angular,我相信我使用的JHipster版本是Angular5,非常感谢您的回复。很好,我建议使用准确的版本“2.3.1”,而不是“^2.3.1”避免在某些dep引入破坏性更改时破坏您的构建/应用程序。
"web-animations-js": "^2.3.1",
"classlist.js": "^1.1.20150312"