目錄
什麼是 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