我正在开发一些社交系统,我想做一些自动将 loggedUser 注入方法参数的注释。我试过使用 AOP 但官方文档说:返回类型仅限于原语、字符串、类、枚举、注释和上述类型的数组。方法可以有默认值。public void getLoggedUserDetails( @CurrentUser User user){//some logic}是否可以使用 Aspects 和注释来做到这一点,或者我应该寻找另一种解决方案?
1 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
有一个@AuthenticationPrincipal
,它适用于控制器方法参数。
@Controller
class UserController {
@GetMapping("/self")
public ResponseEntity<User> demo(@AuthenticationPrincipal User user){
return new ResponseEntity<>(user, HttpStatus.OK);
}
您还可以创建自定义注释:
@Target({ElementType.PARAMETER, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@AuthenticationPrincipal
public @interface CurrentUser {}
添加回答
举报
0/150
提交
取消