This paper describes how to customize the extension of org.apache.shenyu.plugin.base.condition.data.ParameterData.
CustomParameterData, implements org.apache.shenyu.plugin.base.condition.data.ParameterData, add annotation org.apache.shenyu.spi.Join./** * This is custom parameter data. */ @Join public class CustomParameterData implements ParameterData { @Override public String builder(final String paramName, final ServerWebExchange exchange) { // custom parameter data } }
org.apache.shenyu.plugin.base.condition.data.ParameterData file, add key-value as following:${spi name} = ${custom class path}
${spi name} represents the name of spi and ${custom class path} represents the fully qualified name of the class. Such as:
custom=org.apache.shenyu.examples.http.condition.data.CustomParameterData
org.apache.shenyu.common.enums.ParamTypeEnum class:
/** * custom param type enum. */ CUSTOM("custom", true),
Apache ShenYu gateway management system --> BasicConfig --> Dictionary, find the dictionary code as PARAM_TYPE, add a new piece of data, pay attention to the dictionary name: ${spi name}.DictionaryType:
paramType;DictionaryCode:
PARAM_TYPE;DictionaryName:
${spi name}, input your custom spi name;DictionaryValue: When used, the value of the drop-down box, do not repeat with the existing;
DictionaryDescribe: desc your custom match strategy;
Sort: to sort;
Status: open or close.