| home | false |
|---|---|
| title | 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响应中是否存在指定的响应头,都添加当前响应头。