玩轉API對象 - 玩轉Kong網關

注意: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的名稱。
相關文章
相關標籤/搜索