Mit diesen Techniken können Sie JSON-Daten bequem in Ihrem FastAPI-Backend veröffentlichen, ohne auf die Swagger-Benutzeroberfläche angewiesen zu sein.
","image":"http://www.luping.net/uploads/20241025/1729834590671b2e5e700bb.jpg","datePublished":"2024-11-07T00:35:56+08:00","dateModified":"2024-11-07T00:35:56+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Bei der Arbeit mit FastAPI ist es möglich, JSON-Daten ohne die Zwischenschaltung der Swagger-Benutzeroberfläche zu veröffentlichen. So erreichen Sie dies:
Verwenden Sie eine JavaScript-basierte Schnittstelle wie die Fetch-API, um Daten im JSON-Format zu senden. Hier ist ein Beispiel:
var data = {
name: "foo",
roll: 1
}
fetch('/', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
}).then(resp => {
return resp.text();
}).then(data => {
// Handle the response
});
Alternativ können Sie Jinja2-Vorlagen und ein HTML-Formular verwenden, um Ihre Daten zu übermitteln. So geht's:
from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates
from pydantic import BaseModel
app = FastAPI()
templates = Jinja2Templates(directory="templates")
class Item(BaseModel):
name: str
roll: int
@app.post("/")
async def create_item(item: Item):
return item
@app.get("/")
async def index(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
Mit diesen Techniken können Sie JSON-Daten bequem in Ihrem FastAPI-Backend veröffentlichen, ohne auf die Swagger-Benutzeroberfläche angewiesen zu sein.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3