【发布时间】:2020-07-20 03:11:42
【问题描述】:
我知道How to get the @RequestBody in an @ExceptionHandler (Spring REST) 存在,但我正在寻找一个稍微不同的解决方案。当我的服务获得 403 时,它不会进入我的 @Controller 类。因此,我怎样才能从传入的请求正文中获取一些东西,因为这种情况实际上永远不会影响我的代码?它只会命中生成的 CGLIB 代码。
【问题讨论】:
-
特别是对于 403,我会推荐这个:baeldung.com/exception-handling-for-rest-with-spring#denied
-
该文章的哪一部分推荐用于此问题?
-
链接的:#denied - 第 6 章 :) ...6.2!
-
我已经阅读了那部分,这基本上就是我正在做的事情。问题是,我如何从中获得@RrequestBody?输入到此服务的任何对象都有一个父类,客户端需要在该父类中输入一个唯一 ID。我需要从输入请求中获取该 ID,以便在返回错误之前记录它。因此,当我的消费者抱怨该特定 ID 存在问题时,我可以告诉他们他们收到了 403。
-
一旦你有一个
HttpServletRequest(注入你的错误处理程序),你可以尝试"Get the POST request body from HttpServletRequest"。
标签: spring spring-boot exception spring-security