代码拉取完成,页面将自动刷新
这是一款基于SpringBoot的返回值数据处理组件,主要目的是用于数据脱敏等返回数据额外处理操作 1.该组件提供默认的注解和对应的处理策略利用AOP,可以便捷的对一些常见敏感数据进行数据修改操作
2.允许用户添加自定义的处理策略对方法返回值进行便携加工
3.项目地址: 码云: 查看gitee仓库 github: 查看github仓库
该组件已提交到中央仓库,直接引入下面依赖即可
<dependency>
<groupId>com.github.Silwings-git</groupId>
<artifactId>quick-transform-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
新增原始数据备份功能
strategy
的实例进行数据操作strategy
的值必须是实现了TransformStrategy
接口的java类,组件中提供了一些常用的实现,用户可以自己定义.TransformStrategy.class
,即strategy
需要实现的接口的class,表示不指定任何操作策略.这种情况下会检查方法返回值是否包含一个@Transform
注解.如果包含,则按照类中属性上定义的具体注解进行操作strategy
的值,将不理会返回值上可能存在的@Transform
注解,而是按照指定的值的实例进行数据处理.可以理解为实体类上的@Transform
及相关注解配置的策略是默认策略.当不通过@MethodTransform
注解指定其他处理策略时会使用默认配置,否则使用指定策略execute
指定是否需要执行,默认为true表示需要执行@DataTransform
及其语义化注解,当该注解被应用时,管理器会对类中属性进行遍历寻找属性上包含的@DataTransform
注解.@MethodTransform
一样,需要且必须指定一个strategy
策略来明确数据处理逻辑.execute
指定是否需要执行,默认为true表示需要执行自定义策略需要实现com.silwings.transform.strategy.TransformStrategy
接口
该接口包含一个T transform(T t);
抽象方法,其就是真正执行数据处理的方法.自定义实现类时务必保证该方法的返回值与被指定策略类为当前实现类的方法的返回值类型一致,否则可能发生类型转换异常.
实现类需要添加@Component
注解注入Spring容器才能正常生效.
使用时直接指定strategy
为实现类class即可
示例:
自定义实现
import com.silwings.transform.strategy.TransformStrategy;
import org.springframework.stereotype.Component;
/**
* @author Silwings
* @Classname MyStrategy
* @Description
* @Date 2020/11/8
*/
@Component
public class MyStrategy implements TransformStrategy<String> {
@Override
public String transform(String s) {
return "自定义字符串" + s;
}
}
使用自定义策略
import com.silwings.goods.strategy.MyStrategy;
import com.silwings.transform.annotation.DataTransform;
import com.silwings.transform.annotation.MethodTransform;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author Silwings
* @Classname Demo
* @Description
* @Date 2020/11/8
*/
@RestController
public class Demo {
@GetMapping("/demo")
@MethodTransform(strategy = MyStrategy.class)
// @DataTransform(strategy = MyStrategy.class)
public String demo() {
return "Hello Word";
}
}
结果参考
原结果:Hello Word
现结果:自定义字符串Hello Word
*
,需要时使用等长度的星号字符串对原数据替换 非常感谢你能看到这里,希望这个小组件对你有所帮助.非常期待您的评论与反馈
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。