我有一个控制器,其方法类似于
@PostMapping(value="/{reader}")
public String addToReadingList(@PathVariable("reader") String reader, Book book) {
book.setReader(reader);
readingListRepository.save(book);
return "redirect:/readingList/{reader}";
}
Run Code Online (Sandbox Code Playgroud)
当我使用 Sonarqube 运行静态代码分析时,我收到一个漏洞报告,指出
用一个简单的 POJO 或 DTO 对象替换这个持久实体
但是如果我使用 DTO(它与实体类具有完全相同的字段,那么我会收到另一个错误:
1 必须删除重复的代码块
正确的解决方案应该是什么?
提前致谢。恩瑞克
遵循有关如何在 Spring Boot 应用程序中实现 JWT 身份验证的好教程(https://auth0.com/blog/implementing-jwt-authentication-on-spring-boot/),我发现 /login 是由过滤器而不是控制器。这不是 Bruno 的任性,Spring 为自己提供了一个过滤器(UsernamePasswordAuthenticationFilter 等)。
为什么要使用过滤器?是不是因为它被放置在授权过滤器之前,这样我们就可以拦截新的登录尝试而不受身份验证过滤器的影响?
谢谢!安瑞克