kong插件之Request Transformer

说明

插件实现是根据客户端发送的请求头中的参数,通过请求头参数添加或替换参数内容;
插件执行顺序

remove->rename->replace->add->append

创建API

curl -i -X POST \
    --url http://localhost:8001/apis/ \
    --data 'name=example-api' \
    --data 'uris=/user' \
    --data 'upstream_url=http://test.my' \
    --header 'Accept-Charset:GBK'

返回值

{
    "created_at":1513907363000,
    "strip_uri":true,
    "id":"d62dc229-2701-46d7-831e-080906e41a72",
    "name":"example-api",
    "http_if_terminated":false,
    "preserve_host":false,
    "upstream_url":"http://test.my",
    "uris":[
        "/user"
    ],
    "upstream_connect_timeout":60000,
    "upstream_send_timeout":60000,
    "upstream_read_timeout":60000,
    "retries":5,
    "https_only":false
}

关联插件

参数介绍

consumer_id: 可选,消费者id;
config.http_method: 可选,请求方式;
config.remove.headers: 可选,删除header内容;
config.remove.querystring: 可选,删除部分URI;
config.remove.body: 可选,删除(content.request.body)请求体内容,Content-Type为以下(application/json,multipart/form-data,application/x-www-form-urlencoded)才能生效;
config.replace.headers: 可选,替换header;
config.replace.querystring: 可选,替换部分URI;
config.rename.headers: 可选,重命名header;
config.rename.querystring: 可选,重命名部分URI;
config.rename.body: 可选,重命名,参考config.remove.body;
config.replace.body: 可选,替换,参考config.remove.body,
config.add.headers: 可选,添加header内容;
config.add.querystring: 可选,添加部分URI内容;
config.add.body: 可选,添加,参考config.remove.body;
config.append.headers: 可选,追加header内容;
config.append.querystring: 可选,追加部分URI;
config.append.body: 可选,追加,参考config.remove.body;

测试修改header

curl -X POST http://localhost:8001/apis/example-api/plugins \
    --data "name=request-transformer" \
    --data "config.replace.headers='Accept-Charset:UTF-8'"

返回值

{
    "created_at":1513907423000,
    "config":{
        "remove":{
            "querystring":{

            },
            "headers":{

            },
            "body":{

            }
        },
        "replace":{
            "querystring":{

            },
            "headers":[
                "'Accept-Charset:UTF-8'"
            ],
            "body":{

            }
        },
        "append":{
            "querystring":{

            },
            "headers":{

            },
            "body":{

            }
        },
        "add":{
            "querystring":{

            },
            "headers":{

            },
            "body":{

            }
        },
        "rename":{
            "querystring":{

            },
            "headers":{

            },
            "body":{

            }
        }
    },
    "id":"e4b3eb72-9fab-4736-bbdd-22709e788367",
    "name":"request-transformer",
    "api_id":"d62dc229-2701-46d7-831e-080906e41a72",
    "enabled":true
}

更多使用方法参考教程文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值