Skip to main content
Version: 2.5.0

本地模式

说明#

  • 主要介绍在单机环境下,然后使用本地 API 更新网关数据。 配置属性:
shenyu:  local:    enabled: true    sha512Key: 123456
  • 统一返回结果:
success
  • 统一请求前缀:localhost:9095/shenyu

  • 统一请求头:localKey: 123456

插件数据#

新增或者更新插件#

新增或者更新插件

请求方式#

POST

请求路径#

/plugin/saveOrUpdate

请求参数#
名称类型是否必需默认值描述
PluginDataPluginDataTrue插件对象(Body里面传Json对象)
PluginData
#
名称类型是否必需默认值描述
idStringFalse插件ID
nameStringTrue插件名称
configStringFalse插件配置(Json格式)
roleStringFalse插件角色
enabledBooleanFalse是否开启
请求示例#

POST body

{"id":3,"name":"divide","enabled":"true"}

清空所有数据#

清空所有插件,选择器,规则数据

请求方式#

GET

请求路径#

/cleanAll

清空插件数据#

清空单个插件,选择器,规则数据

请求方式#

GET

请求路径#

/cleanPlugin?name = xxxx

Request参数#
名称类型是否必需默认值描述
nameStringtrue插件名称

删除插件#

删除单个插件(不包含,插件里面的选择器与规则)

请求方式#

GET

请求路径#

/plugin/delete?name = xxxx

Request参数#
名称类型是否必需默认值描述
nameStringtrue插件名称

删除所有插件#

删除所有插件(不包含,插件里面的选择器与规则)

请求方式#

GET

请求路径#

/plugin/deleteAll

获取插件#

根据名称获取插件数据

请求方式#

GET

请求路径#

/plugin/findByName?name=xxxx

Request参数#
名称类型是否必需默认值描述
nameStringtrue插件名称

新增或更新选择器#

新增或者更新插件

请求方式#

POST

请求路径#

/plugin/selector/saveOrUpdate

请求参数#
名称类型是否必需默认值描述
SelectorDataSelectorDataTrue选择器对象(Body里面传Json对象)
SelectorData
#
名称类型是否必需默认值描述
idStringFalse选择器ID
pluginNameStringTrue插件名称
nameStringFalse选择器名称(不填则默认生成 plugin:selector+随机数字)
matchModeIntegerFalse匹配模式(0:and;1:or),不填默认生成 And模式
typeIntegerFalse流量类型0:全流量;1:自定义流量)不填默认生成全流量
sortIntegerFalse排序 ,不填默认生成 10
enabledBooleanFalse是否开启,不填默认生成 true
loggedBooleanFalse是否打印日志,不填默认生成为false
handleStringFalse选择器处理(Json对象,根据每个插件不同,传的对象不同)
conditionListConditionFalse条件集合,自定义流量需要传,全流量不用传(Json List对象)
Condition
#
名称类型是否必需默认值描述
paramTypeStringTrue参数类型(post,uri,query,host,header,cookie,req_method,domain)
operatorStringTrue匹配方式(match,=,regex,>,<,contains,SpEL,Groovy,TimeBefore,TimeAfter)
paramNameStringFalse参数名称(uri 参数类型时候,可以不传)
paramValueIntegerFalse匹配值
请求示例#

POST body

{    "pluginName": "divide",    "type": 1,    "handle": "[{\"upstreamUrl\":\"127.0.0.1:8089\"}]",    "conditionDataList": [{        "paramType": "uri",        "operator": "match",        "paramName": null,        "paramValue": "/**"    }]}
返回数据#

选择器ID

xxxxx

新增选择器与规则#

新增一条选择器与多条规则

请求方式#

POST

请求路径#

/plugin/selectorAndRules

请求参数#
名称类型是否必需默认值描述
SelectorRulesDataSelectorRulesDataTrue选择器规则对象(Body里面传Json对象)
SelectorRulesData
#
名称类型是否必需默认值描述
pluginNameStringTrue插件名称
selectorNameStringFalse选择器名称(不填则默认生成 plugin:selector+随机数字)
matchModeIntegerFalse匹配模式(0:and;1:or),不填默认生成 And模式
selectorHandlerStringFalse选择器处理(Json对象,根据每个插件不同,传的对象不同)
conditionListConditionDataTrue选择器条件集合(Json List对象)
ruleDataListRuleLocalDataTrue规则对象集合(Json List对象)
RuleLocalData
#
名称类型是否必需默认值描述
ruleNameStringFalse规则名称
ruleHandlerStringTrue规则处理(不同的插件传不同的值)
matchModeIntegerFalse匹配模式(0:and;1:or)
conditionListConditionDataTrue规则条件集合(Json List对象)
ConditionData
#
名称类型是否必需默认值描述
paramTypeStringTrue参数类型(post,uri,query,host,header,cookie,req_method,domain)
operatorStringTrue匹配方式(match,=,regex,>,<,contains,SpEL,Groovy,TimeBefore,TimeAfter)
paramNameStringFalse参数名称(uri 参数类型时候,可以不传)
paramValueIntegerFalse匹配值
请求示例#

POST body

{    "pluginName": "divide",    "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8089\"}]",    "conditionDataList": [{        "paramType": "uri",        "operator": "match",        "paramValue": "/http/**"    }],    "ruleDataList": [{        "ruleHandler": "{\"loadBalance\":\"random\"}",        "conditionDataList": [{            "paramType": "uri",            "operator": "=",            "paramValue": "/http/test/payment"        }]    }, {        "ruleHandler": "{\"loadBalance\":\"random\"}",        "conditionDataList": [{            "paramType": "uri",            "operator": "=",            "paramValue": "/http/order/save"        }]    }]}

删除选择器#

根据选择器id与插件名称删除选择器

请求方式#

GET

请求路径#

/plugin/selector/delete?pluginName=xxxx&&id=xxxx

Request参数#
名称类型是否必需默认值描述
pluginNameStringtrue插件名称
idStringtrue选择器id

获取插件下的所有选择器#

根据插件名称获取所有选择器

请求方式#

GET

请求路径#

/plugin/selector/findList?pluginName=xxxx

Request参数#
名称类型是否必需默认值描述
pluginNameStringtrue插件名称

新增或更新规则#

新增或者更新规则数据

请求方式#

POST

请求路径#

/plugin/rule/saveOrUpdate

请求参数#
名称类型是否必需默认值描述
RuleDataRuleDataTrue规则对象(Body里面传Json对象)
RuleData
#
名称类型是否必需默认值描述
idStringFalse规则ID
pluginNameStringTrue插件名称
nameStringFalse规则名称(不填则默认生成 plugin:rule+随机数字)
selectorIdStringTrue选择器ID(不填则默认生成 plugin:rule+随机数字)
matchModeIntegerFalse匹配模式(0:and;1:or),不填默认生成 And模式
sortIntegerFalse排序 ,不填默认生成 10
enabledBooleanFalse是否开启,不填默认生成 true
loggedBooleanFalse是否打印日志,不填默认生成为false
handleStringFalse规则处理(Json对象,根据每个插件不同,传的对象不同)
conditionListConditionDataFalse条件集合(Json List对象)
conditionList
#
名称类型是否必需默认值描述
paramTypeStringTrue参数类型(post,uri,query,host,header,cookie,req_method,domain)
operatorStringTrue匹配方式(match,=,regex,>,<,contains,SpEL,Groovy,TimeBefore,TimeAfter)
paramNameStringFalse参数名称(uri 参数类型时候,可以不传)
paramValueIntegerFalse匹配值
请求示例#

POST body

{    "pluginName": "divide",    "selectorId": 123456,    "handle": "{\"loadBalance\":\"random\"}",    "conditionDataList": [{        "paramType": "uri",        "operator": "=",        "paramValue": "/test"    }]}
返回数据#

规则ID

xxxxx

删除规则#

根据选择器id与规则id删除规则

请求方式#

GET

请求路径#

/plugin/rule/delete?selectorId=xxxx&&id=xxxx

Request参数#
名称类型是否必需默认值描述
selectorIdStringtrue选择器ID
idStringtrue规则ID

获取规则集合#

根据选择器ID获取所有规则

请求方式#

GET

请求路径#

/plugin/rule/findList?selectorId=xxxx

Request参数#
名称类型是否必需默认值描述
selectorIdStringtrue选择器ID

元数据#

新增或者更新元数据#

新增或者更新元数据

请求方式#

POST

请求路径#

/meta/saveOrUpdate

请求参数#
名称类型是否必需默认值描述
MetaDataMetaDataTrue元数据对象(Body里面传Json对象)
MetaData
#
名称类型是否必需默认值描述
idStringFalse元数据ID
appNameStringTrue应用名称
contextPathStringTruecontextPath
pathStringTrue请求路径
rpcTypeStringTruerpc类型(dubbo,sofa,tars,springCloud,motan,grpc)
serviceNameStringTrue接口名称
methodNameStringTrue方法名称
parameterTypesStringTrue参数类型
rpcExtStringFalserpc扩展参数(json对象)
enabledBooleanFalse是否开启

删除元数据#

删除元数据

请求方式#

GET

请求路径#

/meta/delete?rpcType=xxxx&&path=xxx

Request参数#
名称类型是否必需默认值描述
rpcTypeStringtruerpc类型(dubbo,sofa,tars,springCloud,motan,grpc)
pathStringtrue路径

签名数据#

新增或者更新#

新增或者更新签名数据

请求方式#

POST

请求路径#

/auth/saveOrUpdate

请求参数#
名称类型是否必需默认值描述
AppAuthDataAppAuthDataTrue签名对象(Body里面传Json对象)
AppAuthData
#
名称类型是否必需默认值描述
appKeyStringTrueapp key
appSecretStringTrueapp secret
enabledBooleanFalse是否开启
openBooleanFalse是否是开放平台
paramDataListAuthParamDatafalse参数集合,open为true时候需要传(Json list对象)
AuthPathDataAuthPathDatafalse路径集合,open为true时候需要传(Json list对象)
AuthParamData
#
名称类型是否必需默认值描述
appNameStringTrue应用名称
appParamStringTrue应用参数
AuthPathData
#
名称类型是否必需默认值描述
appNameStringTrue应用名称
pathStringTrue路径
enabledBooleanFalse是否开启

删除#

删除签名数据

请求方式#

GET

请求路径#

/auth/delete?appKey=xxxx

Request参数#
名称类型是否必需默认值描述
appKeyStringtrueapp key