Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menghantar Data JSON dari Front-End JavaScript ke Back-End FastAPI?

Bagaimana untuk Menghantar Data JSON dari Front-End JavaScript ke Back-End FastAPI?

DDD
Lepaskan: 2024-11-10 14:05:03
asal
447 orang telah melayarinya

How to Send JSON Data from a JavaScript Front-End to a FastAPI Back-End?

Menghantar Data JSON daripada JavaScript Front-End ke FastAPI Back-End

Dalam FastAPI, parameter yang diisytiharkan dalam fungsi tanpa menjadi sebahagian daripada parameter laluan secara automatik ditafsirkan sebagai pertanyaan parameter. Tafsiran ini berbeza daripada amalan biasa menghantar data JSON dalam badan permintaan.

Untuk menangani percanggahan ini, terdapat beberapa pilihan:

Menggunakan Model Pydantic

Buat Pydantic model untuk mentakrifkan badan JSON yang dijangkakan:

from pydantic import BaseModel

class Item(BaseModel):
    eth_addr: str

@app.post("/ethAddress")
def add_eth_addr(item: Item):
    return item
Salin selepas log masuk

JavaScript Ambil API:

headers: {
  Accept: "application/json",
  "Content-Type": "application/json",
},
body: JSON.stringify({ eth_addr: "some addr" }),
Salin selepas log masuk
Salin selepas log masuk

Menggunakan Parameter Badan

Gunakan Badan= dengan jenis:

from fastapi import Body

@app.post("/ethAddress")
def add_eth_addr(eth_addr: str = Body()):
    return {"eth_addr": eth_addr}
Salin selepas log masuk

API Ambil JavaScript:

headers: {
  Accept: "application/json",
  "Content-Type": "application/json",
},
body: JSON.stringify("some addr"),
Salin selepas log masuk

Menggunakan Parameter Benam Badan

Ringkaskan parameter badan sahaja menggunakan embed=True:

@app.post("/ethAddress")
def add_eth_addr(eth_addr: str = Body(embed=True)):
    return {"eth_addr": eth_addr}
Salin selepas log masuk

JavaScript Fetch API:

headers: {
  Accept: "application/json",
  "Content-Type": "application/json",
},
body: JSON.stringify({ eth_addr: "some addr" }),
Salin selepas log masuk
Salin selepas log masuk

Untuk butiran tambahan dan contoh dengan JavaScript, rujuk kepada:

  • https://fastapi.tiangolo.com/advanced/requestBody/
  • https://fastapi.tiangolo.com/tutorial/body-forms/#formencoded- or-ra w-body-few-parameters
  • https://stackoverflow.com/questions/55333220/fastapi-validation-for-payload-when-using-body

Ingat, menggunakan parameter pertanyaan bukanlah pendekatan biasa untuk data badan JSON dalam API web. Laraskan kod anda dengan sewajarnya untuk memadankan pilihan ini.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data JSON dari Front-End JavaScript ke Back-End FastAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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