Wie man ein Feld zwischen Fastapi -Körpermodell und Abhängigkeit freigeht, ohne zu duplizieren oder zu koppelnPython

Python-Programme
Anonymous
 Wie man ein Feld zwischen Fastapi -Körpermodell und Abhängigkeit freigeht, ohne zu duplizieren oder zu koppeln

Post by Anonymous »

Ich habe den folgenden Code: < /p>

Code: Select all

from fastapi import FastAPI, Depends, Body
from pydantic import BaseModel
import uvicorn

app = FastAPI()

class BS(BaseModel):
x: str
y: str

def dep1(x: str = Body()):
print(x)
return x

@app.post("/")
def main(b: BS, d = Depends(dep1)) -> BS:
print(b)
print(d)
return b

uvicorn.run(app, host="0.0.0.0", port=8000)
< /code>
Wenn ich mir das JSON-Schema ansehe, sieht es aus wie: < /p>
{
"b": {
"x": "string"
},
"x": "string"
}
Ich möchte, dass die Abhängigkeit, die x und den Körper des Endpunkts erfordert, der b.x gleich ist, und beide dieselbe x so, dass der JSON wie

Aussehen">
">

Code: Select all

{
"x": "string"
}
Ich möchte dies tun, ohne auf das Objekt der RAW -Anforderung zuzugreifen (aufgrund der Rennbedingung im Stream von Starlette () . Wie mache ich das?
Ich möchte nicht, x .
Ich habe versucht, den Parameter in der Abhängigkeit als body = body () zu akzeptieren, aber dies fügt nur ein Feld namens Body zur Anfrage hinzu. Der Körper im Endpunkt selbst, und es ist zu schwierig, sie daran zu erinnern und keine Fehler einzuführen, indem der Name des Parameters der Abhängigkeit oder des Endpunkts geändert wird, ohne den anderen zu ändern.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post