Model Pydantic untuk Isi Permintaan
Gunakan Pydantic untuk mentakrifkan skema data bagi permintaan POST, PUT dan DELETE yang masuk, sambil memastikan pengesahan data yang kukuh.
Model Pydantic untuk Isi Permintaan ialah pelajaran Kem Intensif Pembangunan Bahagian Belakang FastAPI percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif Pembangunan Bahagian Belakang FastAPI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif Pembangunan Bahagian Belakang FastAPI merangkumi sejumlah 4 pelajaran.
Isi Permintaan API
Apabila anda menghantar data kepada API, seperti ketika mencipta pengguna atau item baharu, data itu sering dihantar dalam isi permintaan.
Contohnya, permintaan untuk mencipta produk baharu mungkin mengandungi nama, harga dan perihal produk tersebut. Memastikan data yang masuk adalah betul dan sah amat penting untuk kestabilan serta keselamatan aplikasi anda.
Mengapa Mengesahkan Data Permintaan?
Mengesahkan data yang masuk adalah penting atas beberapa sebab:
- Integriti Data: Memastikan pangkalan data anda hanya menerima maklumat yang diformatkan dengan betul dan bermakna.
- Keselamatan: Menghalang data berniat jahat atau tidak sah daripada menyebabkan ralat atau kelemahan.
- Pengalaman Pengguna: Menyediakan mesej ralat yang jelas kepada pengguna apabila input mereka tidak betul.
- Kebolehpercayaan Kod: Mengurangkan pepijat dengan memastikan logik aplikasi anda beroperasi pada jenis data yang dijangka.
Kenali Pydantic
Pydantic ialah pustaka Python yang menyediakan pengesahan data dan pengurusan tetapan menggunakan petunjuk jenis Python. Ia sangat pantas dan bersepadu dengan lancar bersama FastAPI.
FastAPI menggunakan Pydantic di sebalik tabir untuk:
- Menghuraikan isi permintaan menjadi objek Python.
- Mengesahkan jenis dan kekangan data.
- Menjana mesej ralat yang jelas jika pengesahan gagal.
Mencipta Model Pydantic Pertama Anda
Untuk mentakrifkan struktur data bagi isi permintaan, anda mencipta kelas yang mewarisi BaseModel daripada Pydantic. Kemudian, anda mengisytiharkan medan menggunakan petunjuk jenis Python standard.
Model ini bertindak sebagai skema yang menentukan data yang dijangka oleh API anda.
Model Pydantic Beraksi
Mari kita takrifkan model Item yang ringkas. Perhatikan cara kita menetapkan name sebagai rentetan dan price sebagai nombor perpuluhan. Kita juga akan menunjukkan cara model ini mengendalikan pengesahan!
from pydantic import BaseModel, ValidationError
class Item(BaseModel):
name: str
price: float
description: str | None = None # Optional field
def main():
print("--- Valid Item ---")
try:
item1 = Item(name="Laptop", price=1200.50)
print(item1.model_dump_json(indent=2))
except ValidationError as e:
print(e.json())
print("\n--- Invalid Item (missing price) ---")
try:
item2 = Item(name="Keyboard")
print(item2.model_dump_json(indent=2))
except ValidationError as e:
print(e.json())
if __name__ == "__main__":
main()Kesepaduan FastAPI dan Pydantic
FastAPI mengenali objek Pydantic BaseModel secara automatik dalam parameter fungsi titik akhir anda. Apabila permintaan diterima, FastAPI akan:
- Membaca isi permintaan JSON.
- Menggunakan model Pydantic anda untuk menghuraikan dan mengesahkan data.
- Memasukkan data yang telah disahkan sebagai tika model anda ke dalam fungsi.
Itulah keajaibannya!
Membina Titik Akhir POST
Beginilah cara anda mentakrifkan titik akhir POST dalam FastAPI yang menjangkakan Item dalam isi permintaannya. FastAPI mengendalikan semua penghuraian dan pengesahan untuk anda!
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
description: str | None = None
tax: float | None = None
@app.post("/items/")
async def create_item(item: Item):
# The 'item' variable is now an Item object,
# already validated by Pydantic!
return {"message": "Item received successfully!", "item": item.model_dump()}
# To run this application:
# 1. Save the code as main.py
# 2. Run in terminal: uvicorn main:app --reload
# 3. Send a POST request to http://127.0.0.1:8000/items/
# with a JSON body like: {"name": "Book", "price": 29.99}Pengesahan & Ralat Automatik
Jika klien menghantar data yang tidak sepadan dengan model Pydantic anda, contohnya medan wajib tiada atau jenis data salah, FastAPI akan mengembalikan respons ralat 422 Unprocessable Entity yang terperinci secara automatik.
Mesej ralat ini dijana secara automatik dan sangat membantu untuk menyahpepijat isu pada pihak klien serta API.
Medan Pilihan & Nilai Lalai
Tidak semua medan dalam isi permintaan anda perlu diwajibkan. Anda boleh menjadikan medan pilihan atau memberikan nilai lalai:
- Gunakan
field: str | None = Noneuntuk medan pilihan yang nilai lalainya ialahNone. - Gunakan
field: int = 0untuk menetapkan nilai lalai tertentu jika medan itu tidak diberikan.
Fleksibiliti ini membolehkan anda mereka bentuk skema API yang kukuh dan mudah digunakan.
Semakan Model Pydantic
Antara pernyataan berikut tentang model Pydantic dalam FastAPI, yang manakah TRUE?
Imbas Kembali: Kuasa Pydantic
Anda telah mempelajari bahawa model Pydantic penting untuk mengendalikan isi permintaan dalam FastAPI. Model ini menyediakan pengesahan data yang kukuh, penghuraian automatik dan mesej ralat yang jelas, menjadikan pembangunan API anda lebih lancar dan boleh dipercayai.
Seterusnya, kita akan meneroka cara mentakrifkan model respons yang jelas serta mengendalikan kod status HTTP untuk pelbagai operasi API!
Pelajari Kem Intensif Pembangunan Bahagian Belakang FastAPI dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 21
- Pelajaran
- 84
Soalan Lazim
Adakah pelajaran “Model Pydantic untuk Isi Permintaan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif Pembangunan Bahagian Belakang FastAPI, termasuk “Model Pydantic untuk Isi Permintaan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif Pembangunan Bahagian Belakang FastAPI merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Model Pydantic untuk Isi Permintaan”?
Gunakan Pydantic untuk mentakrifkan skema data bagi permintaan POST, PUT dan DELETE yang masuk, sambil memastikan pengesahan data yang kukuh. Anda berlatih Kem Intensif Pembangunan Bahagian Belakang FastAPI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif Pembangunan Bahagian Belakang FastAPI?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif Pembangunan Bahagian Belakang FastAPI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Model Pydantic untuk Isi Permintaan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif Pembangunan Bahagian Belakang FastAPI ini?
Ya. Setiap pelajaran Kem Intensif Pembangunan Bahagian Belakang FastAPI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Model Pydantic untuk Isi Permintaan
- Model Respons dan Kod Status
- Data Borang dan Muat Naik Fail
- Pengepala, Kuki dan Respons Tersuai