簡介
HTTP相關的核心類型,主要服務于基于HTTP協議的連接器節點。類型主要為:HttpRequest、HttpRespoonse、HttpHeader、HttpCookie等類型。
HttpRequest
簡介
引擎用來描述發送HTTP Request請求時的數據結構。
基于HTTP協議的連接器節點(例如HTTP節點),訪問對端系統時,引擎會根據節點的配置內容自動生成此種類型的對象。
集成流的觸發節點(例如HTTP API Listener節點)的輸出消息Payload中,會生成該類型對象,供后續節點使用。
坐標:com.alibaba.bwif.script.core.protocol.http.HttpRequest
構造方式
只能由集成流引擎構造,不支持在腳本中構造。
方法列表
方法 | 說明 |
String getPath() | 獲取整個請求路徑,不包含Domain、協議和query部分,例如http://abc.com/a/b/c?q1=1,則此方法返回/a/b/c。 |
String getHttpMethod() | 獲取請求的 HttpMethod,例如GET、POST等。 |
Entity getBody() | 獲取請求Body對象,Body 對象為 Entity 類型。會根據HTTP Request請求中的content-type做為Entity的MIME Type。 |
String getParam(String key) | 根據key獲取指定的參數的值,如果有重復key,則默認取出第一個。支持對Path參數、Query參數。 |
List getHeaders() | 獲取所有Headers信息,返回結構為com.alibaba.bwif.script.core.protocol.http.HttpHeader, 詳見HttpHeader。 |
String getHeader(String key) | 獲取指定key的value,如果header中存在重復的key,則默認取出第一個返回。value會統一轉換成String類型,例如header['Content-Length']=2,獲得到的結果為"2"。 |
String getPathParam(String key) | 根據key獲取指定的參數的值,值的類型統一為String。如果有重復的key,則取一個返回。 |
Map getPathParamMap() | 按照Path參數key、value結構組成Map,value類型為String。如果有重復值,默認只取一個返回。 |
String getQueryString() | 獲取整個QueryString,例如q1=v1&q2=v2。 |
String getQueryParam(String key) | 按照key獲取值,默認取第一個。 |
HttpResponse
簡介
引擎用來描述返回HTTP Response時的數據結構。
基于HTTP協議的連接器節點(例如HTTP節點),訪問對端系統時,引擎會根據對端的HTTP Response內容自動生成此種類型的對象,供后續節點使用。
集成流的最后一個節點(例如HTTP API Reply節點),會根據集成流中的節點配置,生成HTTP Response內容,返回給集成流的請求方。
坐標:com.alibaba.bwif.script.core.protocol.http.HttpResponse。
構造方式
只能由集成流引擎構造,不支持在腳本中構造。
方法列表
方法 | 說明 |
Entity getBody() | 獲取對端接口返回的HTTP Response Body內容,類型為Entity。MIME Type根據HTTP Response的content type決定。 |
long getBodyLength() | 獲取對端接口返回的HTTP Response的Content-Length。 |
int getStatusCode() | 獲取對端接口返回的HTTP Status Code,例如200、404等。 |
List getHeaders() | 獲取對端接口返回的HTTP Response 的Header全部信息,返回類型為 List<HttpHeader>,類型為 com.alibaba.bwif.script.core.protocol.http.HttpHeader,詳情請參見HttpHeader。 Header中如果包含Cookie信息,則仍然按照header類型返回。 |
List getCookies() | 獲取對端接口返回的HTTP Response 的Header中的Cookies全部信息,返回類型為 List<HttpCookie>,類型為 com.alibaba.bwif.script.core.protocol.http.HttpCookie,詳情請參見HttpCookie。 |
HttpHeader
簡介
配合HttpRequest、HttpResponse類使用,用于描述一個header的key、value結構。
坐標:com.alibaba.bwif.script.core.protocol.http.HttpHeader。
構造方式
引擎自動構建,腳本中不提供構造方法。
方法列表
方法 | 說明 |
String getKey() | 返回header的key。 |
String getValue() | 返回header的value,String類型。例如header中的Content-Length=2,也會轉換成String。 |
HttpCookie
簡介
配合HttpRequest、HttpResponse類使用,用于描述Cookie結構。
坐標:com.alibaba.bwif.script.core.protocol.http.HttpCookie。
構造方式
引擎自動構建,腳本中不提供構造方法。
方法列表
方法 | 說明 |
String getName() | 返回Cookie的Name。 |
String getValue() | 返回Cookie的Value,類型為String。 |