GatewayRoutes.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package cn.com.goldenwater.domain;
  2. import cn.com.goldenwater.utils.StringUtils;
  3. import com.baomidou.mybatisplus.annotation.TableName;
  4. import lombok.Data;
  5. import org.springframework.cloud.gateway.filter.FilterDefinition;
  6. import org.springframework.cloud.gateway.handler.predicate.PredicateDefinition;
  7. import java.io.Serializable;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. @Data
  11. @TableName
  12. public class GatewayRoutes implements Serializable {
  13. private String id;
  14. private String serviceName;
  15. private String uri;
  16. private String predicates;
  17. private String filters;
  18. private String status;
  19. public List<PredicateDefinition> getPredicateDefinition() {
  20. if (this.predicates != null) {
  21. String predicates;
  22. if (!this.predicates.contains("/**")) {
  23. predicates = this.predicates + "/**";
  24. } else {
  25. predicates = this.predicates;
  26. }
  27. PredicateDefinition predicateDefinition = new PredicateDefinition();
  28. predicateDefinition.setName("Path");
  29. predicateDefinition.addArg("_genkey_0", predicates);
  30. List<PredicateDefinition> predicateDefinitionList = new ArrayList<>();
  31. predicateDefinitionList.add(predicateDefinition);
  32. return predicateDefinitionList;
  33. } else {
  34. return null;
  35. }
  36. }
  37. public List<FilterDefinition> getFilterDefinition() {
  38. if (StringUtils.isNoneBlank(this.filters)) {
  39. FilterDefinition filterDefinition = new FilterDefinition();
  40. filterDefinition.setName("StripPrefix");
  41. filterDefinition.addArg("_genkey_0", this.filters);
  42. List<FilterDefinition> filterDefinitionList = new ArrayList<>();
  43. filterDefinitionList.add(filterDefinition);
  44. return filterDefinitionList;
  45. } else {
  46. return null;
  47. }
  48. }
  49. }