| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package cn.com.goldenwater.domain;
- import cn.com.goldenwater.utils.JsonUtils;
- import cn.com.goldenwater.utils.StringUtils;
- import com.alibaba.fastjson2.JSONObject;
- import com.baomidou.mybatisplus.annotation.TableName;
- import lombok.Data;
- import org.springframework.cloud.gateway.filter.FilterDefinition;
- import org.springframework.cloud.gateway.handler.predicate.PredicateDefinition;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- @Data
- @TableName
- public class GatewayRoutes implements Serializable {
- private String id;
- private String serviceName;
- private String uri;
- private String predicates;
- private String filters;
- private String status;
- /**
- * 响应成功格式
- */
- private String resultSuccessFormat;
- private String auth;
- private String authQueryOptions;
- private String authExpirationTime;
- public List<PredicateDefinition> getPredicateDefinition() {
- if (this.predicates != null) {
- String predicates;
- if (!this.predicates.contains("/**")) {
- predicates = this.predicates + "/**";
- } else {
- predicates = this.predicates;
- }
- PredicateDefinition predicateDefinition = new PredicateDefinition();
- predicateDefinition.setName("Path");
- predicateDefinition.addArg("_genkey_0", predicates);
- List<PredicateDefinition> predicateDefinitionList = new ArrayList<>();
- predicateDefinitionList.add(predicateDefinition);
- return predicateDefinitionList;
- } else {
- return null;
- }
- }
- public List<FilterDefinition> getFilterDefinition() {
- if (StringUtils.isNoneBlank(this.filters)) {
- FilterDefinition filterDefinition = new FilterDefinition();
- filterDefinition.setName("StripPrefix");
- filterDefinition.addArg("_genkey_0", this.filters);
- List<FilterDefinition> filterDefinitionList = new ArrayList<>();
- filterDefinitionList.add(filterDefinition);
- return filterDefinitionList;
- } else {
- return null;
- }
- }
- public JSONObject getResultSuccessFormatData() {
- if (StringUtils.isNoneBlank(this.resultSuccessFormat)) {
- return JsonUtils.jsonToPojo(this.resultSuccessFormat, JSONObject.class);
- } else {
- return JsonUtils.jsonToPojo("{\"code\":\"200\",\"field\":\"code\"}", JSONObject.class);
- }
- }
- }
|