Fetch - Call API
Fetch 提供簡易的設定,讓串接 API 的工作變得更直覺、更輕鬆
HTTP POST
使用 HTTP POST 傳送 JSON 資料到 Server
Fetch f = new Fetch("https://httpbin.org/post");
// 自訂 header
f.Header = new
{
Access_Token = "123456789"
};
// 自訂 cookie
f.Cookie = new
{
account = "Gold"
};
// 查詢字串: ?qs=dog
var query_str = new
{
qs = "dog"
};
// 傳送資料: { id: 100, ... }
var json_data = new
{
id = 100,
name = "zap",
data = new List<object>()
{
new { sid=10, name="book" },
new { sid=10, name="pen" },
}
};
// 發出請求
string result = f.Post(json_data, query_str);
if (result == null) Console.WriteLine(f.GetResponse());
else Console.WriteLine(result);輸出:
Other HTTP Methods
使用方式與 HTTP POST 相似,只需將 Post 方法改為其他即可
Mapping JSON to Model
Fetch 使用 Json.NET 提供的方法,將回應的 JSON 填充到指定物件中
Declare Data Model
定義一個能夠承接回傳資料的類別,注意 JSON 的 成員名稱 與 資料型態 需要相同才可正常對應
Specify The Model
輸出:
Dynamic Request Configuration
Query String、Cookie 或 Header 不是固定的,都可使用 DynamicObject 類別動態組成
Form Data
Fetch 預設 Content-Type 為 application/json 資料預設會編碼成 JSON 字串後傳送,但也支援 application/x-www-form-urlencoded 與 multipart/form-data MIME 編碼方式,只需指定即可
輸出:
Server 將接到 Form 編碼的資料
Attach Files
傳送檔案預設以 multipart/form-data 的編碼方式傳送,只需指定檔案實體位置即可
輸出:
檔案將以 Base64 方式編碼後至於 Form 中傳遞
Response Header
回應的訊息除了在 body 中,有部分資料也會帶在 header 中
輸出:
Last updated
Was this helpful?