FastAPI: Mengendalikan Permintaan POST dengan Data JSON
Apabila bekerja dengan API FastAPI, menghadapi kod ralat 422 Entiti Tidak Dapat Diproses boleh mengecewakan, terutamanya apabila menghantar data JSON melalui permintaan POST. Ralat ini berlaku apabila badan permintaan tidak sepadan dengan format yang dijangkakan atau tiada medan yang diperlukan.
Untuk menyelesaikan isu ini, pertimbangkan pilihan berikut untuk menentukan titik akhir yang menjangkakan data JSON:
Pilihan 1: Model Pydantic
Gunakan model Pydantic untuk mencipta perwakilan berstruktur permintaan anda badan. Pendekatan ini membolehkan pengesahan mudah dan dokumentasi parameter yang dijangkakan.
Pilihan 2: Parameter Badan
Gunakan benam parameter Badan untuk mengisytiharkan muatan JSON yang dijangkakan terus dalam fungsi tandatangan. Kaedah ini memudahkan pengendalian parameter.
Pilihan 3: Jenis Dict
Tentukan kandungan permintaan sebagai dict[Any, Any] atau dict jika menggunakan Python 3.9 . Walaupun pilihan ini tidak menyediakan pengesahan tersuai, ia menawarkan fleksibiliti.
Pilihan 4: Objek Permintaan Starlette
Akses badan permintaan terus melalui objek Permintaan Starlette. Ambil perhatian bahawa pendekatan ini memerlukan penggunaan async def dan memerlukan pengendalian penghuraian JSON secara manual.
Pilihan Pengujian
Untuk menguji pilihan di atas, pertimbangkan untuk menggunakan perpustakaan permintaan Python atau API Ambil JavaScript. Pastikan pengepala permintaan menyertakan Jenis Kandungan yang sesuai (cth., aplikasi/json) dan kandungan tersebut mengandungi data JSON yang diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat 422 Semasa Menghantar Permintaan JSON POST dalam FastAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!