首页 > 解决方案 > 是否可以使用 spring boot 在这种错误中“捕获”或处理并抛出自定义消息?

问题描述

我在我的休息应用程序上乱七八糟,当我的 url 参数中有一些无效字符时,我在 spring boot 上遇到了这个错误:

http://myrestservice?[][][][]

然后邮递员给了我这个错误。

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at

是否可以返回消息而不是服务器返回此异常?

我只做其余的服务,不涉及 UI。

标签: javaspringtomcat

解决方案


通过自定义从控制器抛出的异常,您可以在 Spring Boot 中实现一些目标。去做这个,

  1. 您必须创建一个单独的类来扩展ResponseEntityExceptionHandler类。
  2. 使用@ControllerAdvice注释类。
  3. 覆盖handleMethodArgumentNotValidhandleHttpMessageNotReadable方法。您可以自定义异常并将其作为带有正确错误状态代码和消息的 Response 对象返回。

推荐阅读