java - 是否可以使用 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。
解决方案
通过自定义从控制器抛出的异常,您可以在 Spring Boot 中实现一些目标。去做这个,
- 您必须创建一个单独的类来扩展ResponseEntityExceptionHandler类。
- 使用@ControllerAdvice注释类。
- 覆盖handleMethodArgumentNotValid和handleHttpMessageNotReadable方法。您可以自定义异常并将其作为带有正确错误状态代码和消息的 Response 对象返回。
推荐阅读
- python - 如何使用 Pandas Rolling 显示列值随着时间的推移而下降?
- javascript - 隐藏构造函数的“局部属性”
- ruby-on-rails - 我应该如何为定期更改但需要所有用户访问的 Rails 应用程序存储值?
- python - 如何在 Lambda 中处理来自 API Gateway 的二进制数据,反之亦然?
- python - 从命令行运行 python,只有项目导入失败
- python - Python:即使 myobj 或 myobj.myprop 为 None,也要记录 myobj.myprop?
- python - 遍历数据框正在返回字符串中未使用 strip() 删除的空格
- sapui5 - 在 SAP UI5 App 中加载图像是否有稳定的解决方案?
- c# - ASP.net core 2.2 web 应用程序找不到来自 Razor 类库的页面
- c# - protobuf 的 RepeatedField 的映射
类型