(2021.11.23)@Inner与@Inner(value = false)

@Inner与@Inner(value = false)

是什么

基于微服务架构SpringCloud OAuth无Token的接口调用。

区别

  • @Inner是对内部调用公开,拦截外部调用
  • @Inner(value = false)是对外部暴露

相同点

两者都会舍弃token鉴权,如果代码中需要用到token,建议不要使用。

`@Inner(value = false)` 是一个切面注解,它可以被用来标识一个方法或类是否需要被代理。它通常与 Spring AOP 一起使用,用于实现切面编程。 如果您想在Spring AOP中使用`@Inner(value = false)`注解,您需要定义一个切面类,并在其中使用该注解。切面类应该使用`@Aspect`注解进行标记,并且需要使用`@Around`、`@Before`或`@After`等注解来定义切面方法。 下面是一个使用`@Inner(value = false)`注解的示例: ```java @Aspect @Component public class InnerAspect { @Around("@annotation(inner)") public Object around(ProceedingJoinPoint point, Inner inner) throws Throwable { if (inner.value()) { // 进行正常的业务逻辑处理 return point.proceed(); } else { // 不进行业务逻辑处理,直接返回空值 return null; } } } ``` 在上面的示例中,我们定义了一个名为`InnerAspect`的切面类,并使用了`@Aspect`和`@Component`注解进行标记。然后,我们定义了一个`@Around`注解的切面方法,并使用了`@annotation(inner)`注解来限制该方法仅对使用了`@Inner`注解的方法进行代理。 在切面方法中,我们检查了传入的`Inner`对象的`value`属性值。如果`value`为`true`,则执行切面方法中的正常业务逻辑处理并返回结果;如果`value`为`false`,则不执行业务逻辑处理,直接返回`null`。 需要注意的是,切面方法的参数中,`ProceedingJoinPoint`表示当前连接点(即被代理的方法),`Inner`表示被代理的方法上的`@Inner`注解对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值