Route实体定义匹配客户端请求的规则。每个路由都与一个服务相关联,而服务可能有多个与之相关联的路由。每一个匹配给定路线的请求都将被提交给它的相关服务。
路由和服务的组合(以及它们之间的关注点分离)提供了一种强大的路由机制,可以在Kong中定义细粒度的入口点,从而引导你的访问到不同upstream服务。
具体用法参考上一篇文章:《玩转SERVICE服务》
ROUTE API 详解:
1、添加route
请求地址:/routes/
请求方法:POST
请求主体:
属性 | 描述 |
---|---|
protocols | 这条路线应该允许的协议列表。默认情况下,它是“http”、“https”,这意味着路由接受这两种方式。当设置为“HTTPS”时,HTTP请求会被请求升级到HTTPS。通过表单编码,符号是协议=http&协议=https。使用JSON,使用数组。 |
methods(半可选) | 与此路由相匹配的HTTP方法列表。例如: ["GET", "POST"].至少有一个主机、路径或方法必须被设置。用表单编码参数是methods[]=GET&methods[]=OPTIONS。使用JSON,使用数组。 |
hosts(半可选) | 与此路径匹配的域名列表。例如:example.com. 至少有一个主机、路径或方法必须被设置。用表单编码参数是 hosts[]=foo.com&hosts[]=bar.com。使用JSON,使用数组。 |
paths(半可选) | 与此路径相匹配的路径列表。例如: /my-path.至少有一个主机、路径或方法必须被设置。用表单编码参数是 paths[]=/foo&paths[]=/bar. 使用JSON,使用数组。 |
strip_path(可选) | 当通过一条路径匹配一条路径时,从upstream请求URL中剥离匹配的前缀。默认值为true。 |
preserve_host(可选) | 当通过一个主机域名匹配一条路由时,在upstream请求头中使用请求主机头。默认设置为false,upstream主机头将是服务主机的主机头。 |
service | 这条路线的服务是相关的。这是路由代理通信的地方。用表单编码参数是service.id=<service_id>。如果是JSON,则使用"service":{"id":"<service_id>"} |
2、检索route
请求地址:/routes/{id}
请求方法:GET
PATH参数:
属性 | 描述 |
---|---|
id(必填) | 检索路由的id属性。 |
3、route列表
请求地址:/routes
请求方法:GET
请求参数:
属性 | 描述 |
---|---|
offset(可选) | 用于分页的游标。偏移量是定义列表中的位置的对象标识符。 |
size(可选,默认是100 max是1000) | 每个页面返回的对象数量的限制。 |
4、列出与service相关的route
请求地址:/services/{service name or id}/routes
请求方法:GET
PATH参数:
属性 | 描述 |
---|---|
service name or id(必填) | 要检索路由的服务的id或name属性。当使用这个API时,只有属于指定服务的路由才会被列出。 |
4、更新route
请求地址:/routes/{id}
请求方法:PATCH
PATH参数:
属性 | 描述 |
---|---|
id(必填) | 更新路由的id属性。 |
请求主体:同 1、添加route
4、删除route
请求地址:/routes/{id}
请求方法:DELETE
PATH参数:
属性 | 描述 |
---|---|
id(必填) | 删除路由的id属性。 |