博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kong 网关 | Route
阅读量:4104 次
发布时间:2019-05-25

本文共 2863 字,大约阅读时间需要 9 分钟。

一、简介

路由用来匹配客户端向上游服务器请求的规则,也就是客户端调用的 API,每个路由(Route)和一个服务(Service) 相关联,一个服务可有有多个路由,我们可以对每一条路由进行细粒度的配置,可以使用正则表达式进行通用的配置。

二、重要属性

创建一个路由需要配置的属性,其中路径 paths 为必须设置,其余为可选。

Attributes Description
name 路由名称
protocols 可以请求该路由的协议,默认为 [“http”, “https”]
methods 方法,如 GET,POST,DELETE,PATCH,PUT
hosts 匹配此路由的域名列表,可设置多个值
paths 匹配此路由的路径,也就是 API,可以设置多个值
regex_priority 路由请求的优先级,数字越大的在数字越小的之前匹配,默认为0
strip_path 当通过一条路径进行请求时,从上游中去掉匹配的前缀,默认为 true,如果上游的路径和配置的请求路径或者前缀一样,配置路由时需要配置为 false。

三、操作示例

1、创建路由
POST /services/{service name or id}/routes
curl -i -X POST \  --url http://localhost:8001/services/myservice/routes \  --data 'hosts[]=gateway.com' \  --data 'name=getBlackRoles' \  --data 'strip_path=false' \  --data 'paths[]=/blackRoles'\  --data 'methods[]=GET&methods[]=POST' \
2、查询路由

查询所有路由

GET /routes
curl -i -X GET \  --url http://localhost:8001/routes \

查询某个服务的路由

GET /services/{service name or id}/routes
curl -i -X GET \  --url http://localhost:8001/services/myservice/routes \
3、搜索路由

根据路由名称或 id 搜索

GET /routes/{route name or id}
curl -i -X GET \  --url http://localhost:8001/routes/getBlackRoles \

搜索特定服务的路由

GET /services/{service name or id}/routes/{route name or id}
curl -i -X GET \  --url http://localhost:8001/services/myservice/routes/getBlackRoles \
4、更新路由

根据路由 ID 或名称更新路由

PATCH /routes/{route name or id}
curl -i -X PATCH \  --url http://localhost:8001/routes/getBlackRoles \  --data 'hosts[]=gateway.com' \  --data 'name=getBlackRole' \  --data 'strip_path=false' \  --data 'paths[]=/blackRoles'\  --data 'methods[]=GET&methods[]=POST' \

更新指定服务的路由

PATCH /services/{service name or id}/routes/{route name or id}
curl -i -X PATCH \  --url http://localhost:8001/services/myservice/routes/getBlackRole \  --data 'hosts[]=gateway.com' \  --data 'name=getBlackRoles' \  --data 'strip_path=false' \  --data 'paths[]=/blackRoles'\  --data 'methods[]=GET&methods[]=POST' \
5、更新或创建路由

根据路由名称或 ID 更新

PUT /routes/{route name or id}
curl -i -X PUT \  --url http://localhost:8001/routes/getBlackRoles \  --data 'hosts[]=gateway.com' \  --data 'name=getBlackRoles' \  --data 'strip_path=false' \  --data 'paths[]=/blackRoles'\  --data 'methods[]=GET&methods[]=POST' \

更新指定服务的路由

PUT /services/{service name or id}/routes/{route name or id}
curl -i -X PUT \  --url http://localhost:8001/services/myservice/routes/getBlackRoles \  --data 'hosts[]=gateway.com' \  --data 'name=getBlackRoles' \  --data 'strip_path=false' \  --data 'paths[]=/blackRoles'\  --data 'methods[]=GET&methods[]=POST' \
6、删除路由

根据路由ID或名称删除路由

DELETE /routes/{route name or id}
curl -i -X DELETE \  --url http://localhost:8001/routes/getBlackRoles \

删除指定服务的路由

DELETE /services/{service name or id}/routes/{route name or id}
curl -i -X DELETE \  --url http://localhost:8001/services/myservice/routes/getBlackRoles \

相关资料

Kong官方文档(路由) :https://docs.konghq.com/1.4.x/admin-api/#route-object

公众号:【星尘Pro】

github:

推荐阅读

转载地址:http://hufsi.baihongyu.com/

你可能感兴趣的文章
2017——新的开始,加油!
查看>>
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.1、类和实例
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.4、获取对象信息
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
弱类型、强类型、动态类型、静态类型语言的区别是什么?
查看>>
Struts2技术内幕图书 转载
查看>>
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>