use of com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition in project Sentinel by alibaba.
the class GatewayApiMatcherManager method loadApiDefinitions.
static synchronized void loadApiDefinitions(/*@Valid*/
Set<ApiDefinition> definitions) {
Map<String, WebExchangeApiMatcher> apiMatcherMap = new HashMap<>();
for (ApiDefinition definition : definitions) {
apiMatcherMap.put(definition.getApiName(), new WebExchangeApiMatcher(definition));
}
API_MATCHER_MAP = apiMatcherMap;
}
use of com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition in project Sentinel by alibaba.
the class ApiDefinitionEntity method toApiDefinition.
public ApiDefinition toApiDefinition() {
ApiDefinition apiDefinition = new ApiDefinition();
apiDefinition.setApiName(apiName);
Set<ApiPredicateItem> apiPredicateItems = new LinkedHashSet<>();
apiDefinition.setPredicateItems(apiPredicateItems);
if (predicateItems != null) {
for (ApiPredicateItemEntity predicateItem : predicateItems) {
ApiPathPredicateItem apiPredicateItem = new ApiPathPredicateItem();
apiPredicateItems.add(apiPredicateItem);
apiPredicateItem.setMatchStrategy(predicateItem.getMatchStrategy());
apiPredicateItem.setPattern(predicateItem.getPattern());
}
}
return apiDefinition;
}
use of com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition in project Sentinel by alibaba.
the class GatewayRuleConfig method initCustomizedApis.
private void initCustomizedApis() {
Set<ApiDefinition> definitions = new HashSet<>();
ApiDefinition api1 = new ApiDefinition("some_customized_api").setPredicateItems(new HashSet<ApiPredicateItem>() {
{
add(new ApiPathPredicateItem().setPattern("/ahas"));
add(new ApiPathPredicateItem().setPattern("/aliyun_product/**").setMatchStrategy(SentinelGatewayConstants.URL_MATCH_STRATEGY_PREFIX));
}
});
ApiDefinition api2 = new ApiDefinition("another_customized_api").setPredicateItems(new HashSet<ApiPredicateItem>() {
{
add(new ApiPathPredicateItem().setPattern("/**").setMatchStrategy(SentinelGatewayConstants.URL_MATCH_STRATEGY_PREFIX));
}
});
definitions.add(api1);
definitions.add(api2);
GatewayApiDefinitionManager.loadApiDefinitions(definitions);
}
use of com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition in project pig by pig-mesh.
the class ApiDefinitionEntity method toApiDefinition.
public ApiDefinition toApiDefinition() {
ApiDefinition apiDefinition = new ApiDefinition();
apiDefinition.setApiName(apiName);
Set<ApiPredicateItem> apiPredicateItems = new LinkedHashSet<>();
apiDefinition.setPredicateItems(apiPredicateItems);
if (predicateItems != null) {
for (ApiPredicateItemEntity predicateItem : predicateItems) {
ApiPathPredicateItem apiPredicateItem = new ApiPathPredicateItem();
apiPredicateItems.add(apiPredicateItem);
apiPredicateItem.setMatchStrategy(predicateItem.getMatchStrategy());
apiPredicateItem.setPattern(predicateItem.getPattern());
}
}
return apiDefinition;
}
use of com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition in project spring-boot-student by wyh-spring-ecosystem-student.
the class ApiDefinitionEntity method toApiDefinition.
public ApiDefinition toApiDefinition() {
ApiDefinition apiDefinition = new ApiDefinition();
apiDefinition.setApiName(apiName);
Set<ApiPredicateItem> apiPredicateItems = new LinkedHashSet<>();
apiDefinition.setPredicateItems(apiPredicateItems);
if (predicateItems != null) {
for (ApiPredicateItemEntity predicateItem : predicateItems) {
ApiPathPredicateItem apiPredicateItem = new ApiPathPredicateItem();
apiPredicateItems.add(apiPredicateItem);
apiPredicateItem.setMatchStrategy(predicateItem.getMatchStrategy());
apiPredicateItem.setPattern(predicateItem.getPattern());
}
}
return apiDefinition;
}
Aggregations