注意:API實體在0.13.0中被棄用。
強烈建議將您的api遷移到路由和服務。api
API對象描述了一個由Kong公開的API。當使用者從代理端口調用它時,Kong須要知道如何檢索API。每一個API對象必須指定主機、uri和方法的一些組合。Kong將把全部對API的請求委託給指定的upstream URL。瀏覽器
一、添加API服務器
請求地址:/apis/
請求方法:POST
請求主體:url
屬性 | 描述 |
---|---|
name | API的名稱. |
hosts(半可選) | 指向您的API的逗號分隔的域名列表。例如:example.com。至少應該指定主機、uri或方法中的一個。 |
uris(半可選) | 一個逗號分隔的uri前綴列表,指向您的API。例如: /my-path。至少應該指定主機、uri或方法中的一個。 |
methods(半可選) | 一個以逗號分隔的HTTP方法列表,指向您的API。例如: GET,POST。至少應該指定主機、uri或方法中的一個。 |
upstream_url | 指向您的API服務器的基本目標URL。這個URL將用於代理請求。例如: https://example.com. |
strip_uri(可選) | 當經過一個URI前綴匹配一個API時,要從upstream URI中去掉匹配的前綴。默認值:真的。 |
preserve_host(可選) | 當經過一個主機域名匹配一個API時,請確保請求主機頭被轉發到upstream服務。默認false,upstream主機頭將從配置的upstream_url中提取出來。 |
retries(可選) | 在代理失敗的狀況下執行的重試次數。默認值是5。 |
upstream_connect_timeout(可選) | 創建鏈接到upstream服務的鏈接的超時時間。默認爲60000。 |
upstream_send_timeout(可選) | 在兩個連續的寫操做之間的時間間隔內,將請求發送到upstream服務的默認值爲60000。 |
upstream_read_timeout(可選) | 在兩個連續讀取操做之間的毫秒間隔,將請求發送到upstream服務的默認值爲60000。 |
https_only(可選) | 若是您但願僅經過HTTPS在適當的端口上提供API(默認狀況下是8443),那麼就能夠啓用該API。默認值:false。 |
http_if_terminated(可選) | 在執行HTTPS通訊時,考慮一下X-Forwarded-Proto header. 默認: false |
注:通用但非標準的HTTP頭(一般,非標準的頭域都是用「X-」開頭)代理
X-Forwarded-Proto:記錄一個請求一個請求最初從瀏覽器發出時候,是使用什麼協議。由於有可能當一個請求最初和反向代理通訊時,是使用https,但反向代理和服務器通訊時改變成http協議,這個時候,X-Forwarded-Proto的值應該是https對象
二、檢索API接口
請求地址:/apis/{name or id}
請求方法:GET
PATH參數:ip
屬性 | 描述 |
---|---|
name or id(必填) | 要檢索的API的惟一標識符或名稱。 |
三、API列表路由
請求地址:/apis/
請求方法:GET
請求參數:get
屬性 | 描述 |
---|---|
id(可選) | 基於api id字段的過濾器。 |
name(可選) | 基於api name字段的過濾器。 |
upstream_url(可選) | 基於api upstream_url字段的過濾器。 |
retries(可選) | 基於api retries字段的過濾器。 |
offset(可選) | 用於分頁的遊標。偏移量是定義列表中的位置的對象標識符。 |
size(可選,默認是100) | 每一個頁面返回的對象數量的限制。 |
四、更新API
請求地址:/apis/{name or id}
請求方法:GET
PATH參數:
屬性 | 描述 |
---|---|
name or id(必填) | 要更新的API的惟一標識符或名稱。 |
請求主體:與 一、添加API 請求主體相同
五、更新或建立API
請求地址:/apis/
請求方法:PUT
請求主體:與 一、添加API 請求主體相同
PUT接口的行爲以下:若是請求的payload(AJAX請求)不包含實體的主鍵(APIs的id),則該實體將使用給定payload建立。若是請求的payload確實包含一個實體的主鍵,有效負載將「替換」給定主鍵指定的實體。若是主鍵不是現有實體的,則不會返回404。
六、刪除API
請求地址:/apis/{name or id}
請求方法:DELETE
PATH參數:
屬性 | 描述 |
---|---|
name or id(必填) | 惟一的標識符或要刪除的API的名稱。 |