TestSensitiveController.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.ruoyi.demo.controller;
  2. import com.ruoyi.common.annotation.Sensitive;
  3. import com.ruoyi.common.core.controller.BaseController;
  4. import com.ruoyi.common.core.domain.R;
  5. import com.ruoyi.common.enums.SensitiveStrategy;
  6. import io.swagger.v3.oas.annotations.tags.Tag;
  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 com.ruoyi.common.core.service.SensitiveService
  20. */
  21. @Tag(name ="测试数据脱敏控制器", description = "测试数据脱敏管理")
  22. @RestController
  23. @RequestMapping("/demo/sensitive")
  24. public class TestSensitiveController extends BaseController {
  25. /**
  26. * 测试数据脱敏
  27. */
  28. @GetMapping("/test")
  29. public R<TestSensitive> test() {
  30. TestSensitive testSensitive = new TestSensitive();
  31. testSensitive.setIdCard("210397198608215431");
  32. testSensitive.setPhone("17640125371");
  33. testSensitive.setAddress("北京市朝阳区某某四合院1203室");
  34. testSensitive.setEmail("17640125371@163.com");
  35. testSensitive.setBankCard("6226456952351452853");
  36. return R.ok(testSensitive);
  37. }
  38. @Data
  39. static class TestSensitive {
  40. /**
  41. * 身份证
  42. */
  43. @Sensitive(strategy = SensitiveStrategy.ID_CARD)
  44. private String idCard;
  45. /**
  46. * 电话
  47. */
  48. @Sensitive(strategy = SensitiveStrategy.PHONE)
  49. private String phone;
  50. /**
  51. * 地址
  52. */
  53. @Sensitive(strategy = SensitiveStrategy.ADDRESS)
  54. private String address;
  55. /**
  56. * 邮箱
  57. */
  58. @Sensitive(strategy = SensitiveStrategy.EMAIL)
  59. private String email;
  60. /**
  61. * 银行卡
  62. */
  63. @Sensitive(strategy = SensitiveStrategy.BANK_CARD)
  64. private String bankCard;
  65. }
  66. }