TestSensitiveController.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.xmzs.demo.controller;
  2. import com.xmzs.common.core.domain.R;
  3. import com.xmzs.common.sensitive.annotation.Sensitive;
  4. import com.xmzs.common.sensitive.core.SensitiveService;
  5. import com.xmzs.common.sensitive.core.SensitiveStrategy;
  6. import com.xmzs.common.web.core.BaseController;
  7. import lombok.Data;
  8. import org.springframework.web.bind.annotation.GetMapping;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.RestController;
  11. /**
  12. * 测试数据脱敏控制器
  13. * <p>
  14. * 默认管理员不过滤
  15. * 需自行根据业务重写实现
  16. *
  17. * @author Lion Li
  18. * @version 3.6.0
  19. * @see SensitiveService
  20. */
  21. @RestController
  22. @RequestMapping("/demo/sensitive")
  23. public class TestSensitiveController extends BaseController {
  24. /**
  25. * 测试数据脱敏
  26. */
  27. @GetMapping("/test")
  28. public R<TestSensitive> test() {
  29. TestSensitive testSensitive = new TestSensitive();
  30. testSensitive.setIdCard("210397198608215431");
  31. testSensitive.setPhone("17640125371");
  32. testSensitive.setAddress("北京市朝阳区某某四合院1203室");
  33. testSensitive.setEmail("17640125371@163.com");
  34. testSensitive.setBankCard("6226456952351452853");
  35. return R.ok(testSensitive);
  36. }
  37. @Data
  38. static class TestSensitive {
  39. /**
  40. * 身份证
  41. */
  42. @Sensitive(strategy = SensitiveStrategy.ID_CARD)
  43. private String idCard;
  44. /**
  45. * 电话
  46. */
  47. @Sensitive(strategy = SensitiveStrategy.PHONE)
  48. private String phone;
  49. /**
  50. * 地址
  51. */
  52. @Sensitive(strategy = SensitiveStrategy.ADDRESS)
  53. private String address;
  54. /**
  55. * 邮箱
  56. */
  57. @Sensitive(strategy = SensitiveStrategy.EMAIL)
  58. private String email;
  59. /**
  60. * 银行卡
  61. */
  62. @Sensitive(strategy = SensitiveStrategy.BANK_CARD)
  63. private String bankCard;
  64. }
  65. }