3 changed files with 47 additions and 0 deletions
@ -0,0 +1,46 @@ |
|||
from fastapi import FastAPI |
|||
from pydantic import BaseModel |
|||
|
|||
|
|||
class DataInput(BaseModel): |
|||
description: str |
|||
data: bytes |
|||
|
|||
model_config = {"val_json_bytes": "base64"} |
|||
|
|||
|
|||
class DataOutput(BaseModel): |
|||
description: str |
|||
data: bytes |
|||
|
|||
model_config = {"ser_json_bytes": "base64"} |
|||
|
|||
|
|||
class DataInputOutput(BaseModel): |
|||
description: str |
|||
data: bytes |
|||
|
|||
model_config = { |
|||
"val_json_bytes": "base64", |
|||
"ser_json_bytes": "base64", |
|||
} |
|||
|
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
@app.post("/data") |
|||
def post_data(body: DataInput): |
|||
content = body.data.decode("utf-8") |
|||
return {"description": body.description, "content": content} |
|||
|
|||
|
|||
@app.get("/data") |
|||
def get_data() -> DataOutput: |
|||
data = "hello".encode("utf-8") |
|||
return DataOutput(description="A plumbus", data=data) |
|||
|
|||
|
|||
@app.post("/data-in-out") |
|||
def post_data_in_out(body: DataInputOutput) -> DataInputOutput: |
|||
return body |
|||
Loading…
Reference in new issue