home | title |
---|---|
false |
HTTP响应头管理插件 |
基于fizz的插件机制,HTTP响应头管理插件,方便更改网关响应头参数及值
Header Response Plugin插件,是一个非常简单的插件,API响应是指API网关返回客户端的响应,HTTP响应头是API响应中的一部分。您可以自定义HTTP响应头,在返回的API响应中指定您配置的响应头。
I、gateway项目pom文件中引入以下依赖:
<dependency>
<groupId>com.fizzgate</groupId>
<artifactId>fizz-plugin-header-response</artifactId>
<version>${fizz.version}</version>
</dependency>
II. 管理后台导入以下SQL
insert into `tb_plugin` (`fixed_config`, `id`, `eng_name`, `chn_name`, `config`, `order`, `instruction`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) values('{\"configs\":[{\"gwGroup\":\"default\",\"headers\":[{\"name\":\"hdr1\",\"value\":\"val1\",\"action\":\"ADD\"}]}]}','51','header_response_plugin','HTTP响应头管理插件','[{\"field\":\"config\",\"label\":\"json配置\",\"component\":\"textarea\",\"dataType\":\"string\",\"desc\":\"json配置\",\"rules\":[]}]','100',NULL,'2','1123598821738675201','1260823335286165505','2022-05-01 14:44:18','1123598821738675201','2022-05-01 14:44:18','1','0');
III、可在Fizz Admin管理系统中网关管理->插件管理中配置headerResponsePlugin插件来实现响应头参数值更换。
表单定义->插件级别的自定义配置信息
{
"configs": [
{
"gwGroup": "fizz-gateway-demo",
"headers": [
{
"name": "fizz-header-override",
"value": "Override",
"action": "OVERRIDE"
},
{
"name": "fizz-header-append",
"value": "Append",
"action": "APPEND"
},
{
"name": "fizz-header-delete",
"value": "Delete",
"action": "DELETE"
},
{
"name": "fizz-header-skip",
"value": "Skip",
"action": "SKIP"
},
{
"name": "fizz-header-add",
"value": "Add",
"action": "ADD"
}
]
}
]
}
参数名 | 类型 | 说明 |
---|---|---|
configs | array | 插件级别的自定义配置信息 |
参数名 | 类型 | 说明 |
---|---|---|
name | string | 响应头名称。每个插件中不能添加重复名称的响应头(不区分大小写),且最多添加10条响应头。 |
value | string | 响应头的值。当“Action”为“Delete”时响应头的值不生效,可为空。 |
action | string | 响应头操作,您可以覆盖(OVERRIDE)、添加(APPEND)、删除(DELETE)、跳过(SKIP)或新增(ADD)指定的响应头。 |
####action值说明
Override:覆盖
当API响应中存在指定的响应头时,使用当前响应头的值覆盖已有响应头的值。
当API响应中存在多个与指定响应头相同名称的响应头时,该操作只会按当前响应头的值返回一条响应头记录。
当API响应中不存在指定的响应头时,添加当前响应头。
Append:添加
当API响应中存在指定的响应头时,使用当前响应头的值覆盖已有响应头的值。
当API响应中存在多个与指定响应头相同名称的响应头时,会将多个响应头的值用“,”拼接后,再添加当前响应头的值。
当API响应中不存在指定的响应头时,添加当前响应头。
Delete:删除
当API响应中存在指定的响应头时,删除当前响应头。
当API响应中存在多个与指定响应头相同名称的响应头时,删除所有相同名称的响应头。
Skip:跳过
当API响应中存在指定的响应头时,跳过当前响应头。
当API响应中存在多个与指定响应头相同名称的响应头时,均不作处理直接返回。
当API响应中不存在指定的响应头时,添加当前响应头。
Add:新增
无论API响应中是否存在指定的响应头,都添加当前响应头。