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 的 成員名稱 資料型態 需要相同才可正常對應

如果 JSON 的成員名稱無法宣告成 Model,可以使用 JsonProperty 指定命名

Specify The Model

輸出:

Dynamic Request Configuration

Query String、Cookie 或 Header 不是固定的,都可使用 DynamicObject 類別動態組成

Form Data

Fetch 預設 Content-Type 為 application/json 資料預設會編碼成 JSON 字串後傳送,但也支援 application/x-www-form-urlencodedmultipart/form-data MIME 編碼方式,只需指定即可

輸出:

Server 將接到 Form 編碼的資料

Attach Files

傳送檔案預設以 multipart/form-data 的編碼方式傳送,只需指定檔案實體位置即可

輸出:

檔案將以 Base64 方式編碼後至於 Form 中傳遞

Response Header

回應的訊息除了在 body 中,有部分資料也會帶在 header 中

輸出:

Last updated

Was this helpful?