請求(四)Request Body 與 Schema 介紹
這是 Django Ninja 系列教學的第 12 篇。
經過前幾篇的介紹,我們已經學習了如何處理路徑與查詢參數。但在現實世界中,我們往往還需要處理更複雜的請求資料。
比如用戶提交的表單、上傳的檔案等等。對於 API 而言,最常見的就是 JSON 格式的 request body。
這一篇將探討 Django Ninja 如何處理 request body,並介紹如何透過 Schema 來定義與驗證資料。
本文所有的程式碼變動,可參考這個 PR。
快速導覽
👉 完整系列目錄:點此查看
👉 程式碼範例:GitHub 範例專案
一、什麼是 Request Body?
Request body 指的是隨著 HTTP 請求一同傳送的資料,通常用於POST
、PUT
等需要建立或更新「資源」的請求。
這些資料不會出現在 URL 中,而是以 JSON 或其他格式(如 XML、form-data)作為請求的主體。
例如,當用戶要發表一篇新文章時,可能會傳送以下 JSON 格式的 request body:
1 | { |
這個 request body 包含了title
和content
兩個欄位,Django Ninja 將協助我們處理這些資料並進行驗證。