Bagaimana Mengendalikan Ralat Semasa Menghantar Data JSON dari JavaScript ke FastAPI?

Mary-Kate Olsen
Lepaskan: 2024-11-13 16:53:03
asal
842 orang telah melayarinya

How to Handle Errors When Sending JSON Data from JavaScript to FastAPI?

Ralat Pengendalian dalam Menyiarkan Data JSON daripada JavaScript ke FastAPI

Untuk menghantar data daripada bahagian hadapan JavaScript ke bahagian belakang FastAPI, anda mesti memastikan data dihantar dalam format yang betul dan ke titik akhir yang sesuai. Jika anda menghadapi ralat 422 Entiti Tidak Boleh Diproses, ia mungkin disebabkan oleh pemformatan data yang salah.

Parameter Pertanyaan lwn. Parameter JSON

Secara lalai, FastAPI mentafsir parameter fungsi yang tidak disertakan dalam laluan sebagai parameter pertanyaan. Walau bagaimanapun, untuk data JSON, anda perlu menentukannya secara eksplisit menggunakan salah satu kaedah berikut:

1. Model Pydantic:

Tentukan model Pydantic untuk mewakili struktur data JSON:

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

2. Jenis Badan:

Gunakan jenis Badan untuk menentukan bahawa parameter harus dihuraikan daripada badan permintaan:

from fastapi import Body

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

3. Body Embed:

Untuk parameter badan tunggal, anda boleh menggunakan argumen embed=True untuk menghuraikan data secara automatik daripada badan permintaan:

from fastapi import Body

@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

Apabila menggunakan API Ambil dalam JavaScript untuk menghantar data JSON, anda mesti menetapkan pengepala Jenis Kandungan kepada aplikasi/json dan nyatakan data dalam medan badan:

fetch("http://localhost:8000/ethAddress", {
  method: "POST",
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "eth_addr": "some address"
  }),
});
Salin selepas log masuk

Sumber Tambahan

Untuk maklumat lanjut dan contoh terperinci, rujuk dokumentasi dan sumber berikut:

  • [Permintaan dan Respons JSON FastAPI](https://fastapi.tiangolo.com/tutorial/body/)
  • [Menghantar data JSON dengan permintaan POST dalam JavaScript](https://stackoverflow.com/questions/44832885/sending-json-data-with-post-requests-in-javascript)
  • [ POST permintaan dengan kandungan JSON dalam JavaScript menggunakan API Ambil](https://stackoverflow.com/questions/55749929/post-request-with-json-content-in-javascript-using-fetch-api)

Atas ialah kandungan terperinci Bagaimana Mengendalikan Ralat Semasa Menghantar Data JSON dari JavaScript ke 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan