我知道这听起来有点奇怪但是我们遇到了一个问题,当我们在应用程序中添加@EnableTransactionManagement
时,所有带@PreAuthorize
的控制器都无法访问,swagger无法发现它并且调用API(具有正确的权限和角色)将遇到404找不到错误。
要解决此问题,请删除应用程序配置中的@EnableTransactionManagement
或删除控制器中的@PreAuthorize
,但无论哪种方式都不是最终解决方案。
所以我想问一下,是否有专家知道这个原因以及我们需要做些什么来使事情有效,因为我们都需要在应用程序中进行事务处理和预授权。
事实证明这可以通过升级到spring boot version 2.x来解决
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>