GatewayRoutes.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package cn.com.goldenwater.domain;
  2. import cn.com.goldenwater.utils.JsonUtils;
  3. import cn.com.goldenwater.utils.StringUtils;
  4. import com.alibaba.fastjson2.JSONObject;
  5. import com.baomidou.mybatisplus.annotation.TableName;
  6. import lombok.Data;
  7. import org.springframework.cloud.gateway.filter.FilterDefinition;
  8. import org.springframework.cloud.gateway.handler.predicate.PredicateDefinition;
  9. import java.io.Serializable;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. import java.util.Map;
  13. @Data
  14. @TableName
  15. public class GatewayRoutes implements Serializable {
  16. private String id;
  17. private String serviceName;
  18. private String uri;
  19. private String predicates;
  20. private String filters;
  21. private String status;
  22. /**
  23. * 响应成功格式
  24. */
  25. private String resultSuccessFormat;
  26. private String auth;
  27. private String authQueryOptions;
  28. private String authExpirationTime;
  29. public List<PredicateDefinition> getPredicateDefinition() {
  30. if (this.predicates != null) {
  31. String predicates;
  32. if (!this.predicates.contains("/**")) {
  33. predicates = this.predicates + "/**";
  34. } else {
  35. predicates = this.predicates;
  36. }
  37. PredicateDefinition predicateDefinition = new PredicateDefinition();
  38. predicateDefinition.setName("Path");
  39. predicateDefinition.addArg("_genkey_0", predicates);
  40. List<PredicateDefinition> predicateDefinitionList = new ArrayList<>();
  41. predicateDefinitionList.add(predicateDefinition);
  42. return predicateDefinitionList;
  43. } else {
  44. return null;
  45. }
  46. }
  47. public List<FilterDefinition> getFilterDefinition() {
  48. if (StringUtils.isNoneBlank(this.filters)) {
  49. FilterDefinition filterDefinition = new FilterDefinition();
  50. filterDefinition.setName("StripPrefix");
  51. filterDefinition.addArg("_genkey_0", this.filters);
  52. List<FilterDefinition> filterDefinitionList = new ArrayList<>();
  53. filterDefinitionList.add(filterDefinition);
  54. return filterDefinitionList;
  55. } else {
  56. return null;
  57. }
  58. }
  59. public JSONObject getResultSuccessFormatData() {
  60. if (StringUtils.isNoneBlank(this.resultSuccessFormat)) {
  61. return JsonUtils.jsonToPojo(this.resultSuccessFormat, JSONObject.class);
  62. } else {
  63. return JsonUtils.jsonToPojo("{\"code\":\"200\",\"field\":\"code\"}", JSONObject.class);
  64. }
  65. }
  66. }