iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
自我挑戰組

轉職新手學 Django 及 DRF系列 第 23

Day 23 - 中場暫停(二) HTTP 狀態碼

  • 分享至 

  • xImage
  •  

在繼續實作之前,想先介紹一個實用的知識,就是 HTTP 代碼,這面試很常出現 XD。在剛剛的 API 測試中,回應區可以看到許多 HTTP code,像是創建 user 成功會回傳 201,拿取 token 成功會回傳 200。Django REST framework 的回應除了基本的 HTTP code 之外還會附上說明以增加可讀性。以下就來介紹各種 HTTP code。

HTTP code -- 1XX

狀態碼 1 開頭表示表示資訊回應(informational response),DRF 中預設不使用此種狀態碼

HTTP code -- 2XX

狀態碼 2 開頭表示成功回應(successful response),表示請求成功收到且被接受,常見的有以下幾種,狀態碼後面為簡單敘述:

  • HTTP_200_OK
  • HTTP_201_CREATED
  • HTTP_202_ACCEPTED

HTTP code -- 3XX

狀態碼 3 開頭表示重新定向(redirection),需要更多動作才能進一步完成請求。幾個例子如下,狀態碼後面為簡單敘述:

  • HTTP_300_MULTIPLE_CHOICES
  • HTTP_301_MOVED_PERMANENTLY
  • HTTP_302_FOUND

HTTP code -- 4XX

狀態碼 4 開頭表示客戶端錯誤(client error):表示請求中有錯誤,無法完成請求。幾個例子如下:

  • HTTP_400_BAD_REQUEST
  • HTTP_401_UNAUTHORIZED
  • HTTP_402_PAYMENT_REQUIRED
  • HTTP_403_FORBIDDEN
  • HTTP_404_NOT_FOUND (這個大家應該最常看到)

HTTP code -- 5XX

狀態碼 5 開頭表示伺服器端錯誤(server error):伺服器無法完成正常請求。表示一定是 API 中有錯誤,幾個例子:

  • HTTP_500_INTERNAL_SERVER_ERROR
  • HTTP_501_NOT_IMPLEMENTED
  • HTTP_502_BAD_GATEWAY

更多資訊

結語

狀態碼很多種,所以我都只記常用的(面試也大多只考常見的),就算被問到少見的狀態碼,還是可以從其開頭大概猜出意思,至少有個大方向 XD
。那下一篇會繼續完成 user 的端點。掰掰~


上一篇
Day 22 - 製作 API (三) 驗證功能
下一篇
Day 24 - 製作 API(四) User 更新端點
系列文
轉職新手學 Django 及 DRF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言