为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

犯罪嫌疑人X 2023-05-17 17:16:05
我正在开发一些社交系统,我想做一些自动将 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 {}

查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信