TestSensitiveController.java 2.1 KB

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