Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencipta Titik Akhir FastAPI Yang Menerima Kedua-dua Borang dan Data JSON?

Bagaimanakah Saya Boleh Mencipta Titik Akhir FastAPI Yang Menerima Kedua-dua Borang dan Data JSON?

DDD
Lepaskan: 2024-10-27 11:33:02
asal
416 orang telah melayarinya

 How Can I Create a FastAPI Endpoint That Accepts Both Form and JSON Data?

Mencipta Titik Akhir FastAPI untuk Penerimaan Data Fleksibel

Dalam FastAPI, adalah mungkin untuk mencipta titik akhir yang boleh mengendalikan kedua-dua badan permintaan borang dan JSON.

Pilihan 1: Tentukan Jenis Kandungan Secara Dinamik

  • Buat fungsi kebergantungan untuk menyemak pengepala Jenis Kandungan.
  • Uraikan kandungan permintaan menggunakan kaedah berasaskan Starlette pada jenis kandungan.
  • Gunakan blok cuba kecuali untuk menangkap sebarang ralat penghuraian.

Pilihan 2: Gunakan Parameter Pilihan

  • Tentukan titik akhir anda dengan parameter Fail dan Borang yang ditandakan sebagai Pilihan.
  • Semak sama ada parameter mempunyai nilai untuk menentukan sama ada data borang telah dihantar.
  • Jika tidak, cuba huraikan isi permintaan sebagai JSON.

Pilihan 3: Asingkan Titik Akhir dengan Middleware

  • Buat titik akhir berasingan untuk JSON dan bentuk permintaan data.
  • Gunakan perisian tengah untuk menyemak Jenis Kandungan dan mengubah hala permintaan ke titik akhir yang sesuai.

Pilihan 4: Pertimbangkan Permintaan Gabungan

  • Gunakan model_validate_json Pydantic () kaedah untuk menghuraikan badan JSON yang diluluskan dalam parameter Borang.
  • Benarkan penyerahan kedua-dua JSON dan data borang dalam satu permintaan dengan menjadikan parameter titik akhir sebagai pilihan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Titik Akhir FastAPI Yang Menerima Kedua-dua Borang dan Data JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan