package org.springblade.modules.test; import com.yunpian.sdk.model.Result; import lombok.AllArgsConstructor; import org.springblade.common.desensitization.Desensitization; import org.springblade.common.desensitization.DesensitizationWord; import org.springblade.core.tool.api.R; import org.springblade.modules.system.entity.User; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static cn.hutool.core.util.DesensitizedUtil.DesensitizedType.*; @AllArgsConstructor @RestController @RequestMapping("/test") public class TestController { @GetMapping("/getUserInfo") @DesensitizationWord({ @Desensitization(jsonPath = "$.data.name",desensitizedType = CHINESE_NAME), @Desensitization(jsonPath = "$.data.phone",desensitizedType = MOBILE_PHONE), @Desensitization(jsonPath = "$.data.bankCard",desensitizedType = BANK_CARD), }) public R getUserInfo() { Map map = new HashMap<>(); map.put("name","张三"); map.put("phone","18111111111"); map.put("bankCard","6227112222211111211"); return R.data(map); } /** * 对象脱敏 * @return */ @GetMapping("getInfo2") @DesensitizationWord({ @Desensitization(jsonPath = "$.data.phone",desensitizedType = MOBILE_PHONE), @Desensitization(jsonPath = "$.data.realName",desensitizedType = CHINESE_NAME), }) public R getCaseInfo2() { User user = new User(); user.setPhone("18111111111"); user.setRealName("cs1"); return R.data(user); } /** * 集合脱敏 * @return */ @GetMapping("getInfo3") @DesensitizationWord(@Desensitization(jsonPath = "$.data[*].phone")) public R getCaseInfo(){ List users = new ArrayList<>(); User user = new User(); user.setPhone("18111111111"); User user1 = new User(); user1.setPhone("18222222222"); users.add(user); users.add(user1); return R.data(users); } }