自定义注解示例,添加获取用户信息的自定义注解

本文介绍了如何在项目中创建和应用自定义注解@LoginUser,用于获取用户信息。通过定义注解、创建参数解析器、注册解析器和接口测试,展示了自定义注解的完整流程。最终,注解成功用于从token中解析并查询用户信息。
摘要由CSDN通过智能技术生成

        我们在项目中很多地方用到的配置代码会写配置文件或者自定义的配置类,现在讲解一下在项目中如何添加自定义注解。

1、创建定义注解

        创建名为@LoginUser 的注解,用于获取用户信息。

/**
 * @Description 自定义注解 使用@interface关键字定义注解 登录用户信息
 * @Author sya
 * @Date 2019/9/17 14:12
 */
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface LoginUser {
    // 若有成员 以无参无异常方式声明
    // 成员类型是受限的,合法的类型包括原始类型及String,Class,Annotation,
    // 如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员和赋值号(=)
    // 注解类可以没有成员,没有成员的注解成为标识注解
}

2、创建处理@LoginUser注解的参数解析器。

        这个解析器有两个方法:

         (1)supportsParameter()将我自定义的UserRoleInfoDTO类跟注解@LoginUser绑定在一起。

         (2)resolveArgument()是UserRoleInfoDTO类赋值逻辑处理,我这里是将随请求过的token(登陆后的用户返回的token)解析并查询用户信息,赋值于UserRoleInfoDTO类。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值