Route實體定義匹配客戶端請求的規則。每一個路由都與一個服務相關聯,而服務可能有多個與之相關聯的路由。每個匹配給定路線的請求都將被提交給它的相關服務。數組
路由和服務的組合(以及它們之間的關注點分離)提供了一種強大的路由機制,能夠在Kong中定義細粒度的入口點,從而引導你的訪問到不一樣upstream服務。編碼
具體用法參考上一篇文章:《玩轉SERVICE服務》代理
ROUTE API 詳解:對象
一、添加routeip
請求地址:/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>"} |
二、檢索routeget
請求地址:/routes/{id}
請求方法:GET
PATH參數:域名
屬性 | 描述 |
---|---|
id(必填) | 檢索路由的id屬性。 |
三、route列表table
請求地址:/routes
請求方法:GET
請求參數:class
屬性 | 描述 |
---|---|
offset(可選) | 用於分頁的遊標。偏移量是定義列表中的位置的對象標識符。 |
size(可選,默認是100 max是1000) | 每一個頁面返回的對象數量的限制。 |
四、列出與service相關的route
請求地址:/services/{service name or id}/routes
請求方法:GET
PATH參數:
屬性 | 描述 |
---|---|
service name or id(必填) | 要檢索路由的服務的id或name屬性。當使用這個API時,只有屬於指定服務的路由纔會被列出。 |
四、更新route
請求地址:/routes/{id}
請求方法:PATCH
PATH參數:
屬性 | 描述 |
---|---|
id(必填) | 更新路由的id屬性。 |
請求主體:同 一、添加route
四、刪除route
請求地址:/routes/{id}
請求方法:DELETE
PATH參數:
屬性 | 描述 |
---|---|
id(必填) | 刪除路由的id屬性。 |