玩轉C#之【WebAPI】

by NickChi

什麼是 WebAPI?

維基百科的解釋:

Web API是指網頁伺服器或網頁瀏覽器的應用程式介面。

書本上看到的解釋:

Web API 是指藉由 http 通訊協定,進行請求、運算、回應的 API,提供 JSON、XML 兩種傳輸格式,基本上透過「網路」交換資訊,皆為 Web API 的範疇。

解釋:
你想像有一個黑盒子,它會跟你說輸入一個input,而會得出什麼Output,而你要把這個Input傳遞給黑盒子是透過http的方式

真實模型:

實際上,我們會將傳遞給input的這個行為稱為發送一個Request,而黑盒子將Output的資料回傳回來的時候稱為Response

什麼是 HTTP?

全名是 HyperText Transfer Protocol,中文翻作「 超文本傳輸協定」。

HTTP 是一套網路傳輸協定,為全球資訊網的資料通訊的基礎。也就是說,網頁前端和後端在溝通時,就是透過 HTTP 協定進行。

重點:
一個Request傳遞的時候的格式

  • header:額外資訊
  • body:主要內容

可以透過Google開發者工具觀察,Request傳遞的時候的格式

HTTP Request Method 請求方法

在 HTTP 協定中,定義多種方法,來以不同方式操作指定的資源。

GET:取得訊息
POST:建立訊息
PUT:更新完整訊息
PATCH:更新部分訊息
DELETE:刪除訊息
OPTIONS:會回傳伺服器支援哪些方法
HEAD:只獲取回應的 header,但沒有body
TRACE:回傳收到的請求內容
CONNECT:通常用在Proxy。

RESTful API

RESTful API 是一種Web API的開發風格,透過REST風格的引進,可以生產並且持續規劃健壯的API。

重點:

  • 使用一致性的操作介面 (Uniform Interface) 表達「資源」
    • /api/file
  • 將動詞設計在 HTTP Verbs 中
    • GET /api/file
    • POST /api/file
    • DELETE /api/file
  • 回應訊息時的狀態寫在 HTTP 狀態碼中
HTTP/1.1 201 Created
Content-Type: text/json; charset=UTF-8
{
message: "Hello World!"
}

白話文:
網址不會變,改變的只有Http Method

關於RESTful API之後會專門寫一篇文章跟大家講解

參考資料

維基百科-應用程式介面
維基百科-Web_API
維基百科-超文本傳輸協定

鐵人賽文章:
https://ithelp.ithome.com.tw/articles/10287225

You may also like

Leave a Comment