Spring 通过注解为当前用户传递参数值

我正在开发一些社交系统,我想做一些自动将 loggedUser 注入方法参数的注释。


我试过使用 AOP 但官方文档说:


返回类型仅限于原语、字符串、类、枚举、注释和上述类型的数组。方法可以有默认值。


public void getLoggedUserDetails( @CurrentUser User user){

//some logic

}

是否可以使用 Aspects 和注释来做到这一点,或者我应该寻找另一种解决方案?


犯罪嫌疑人X
浏览 116回答 1
1回答

繁星点点滴滴

有一个@AuthenticationPrincipal,它适用于控制器方法参数。@Controllerclass 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@AuthenticationPrincipalpublic @interface CurrentUser {}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java