Coverage for docs_src / json_base64_bytes / tutorial001_py310.py: 100%
26 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-21 17:29 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-21 17:29 +0000
1from fastapi import FastAPI 1abc
2from pydantic import BaseModel 1abc
5class DataInput(BaseModel): 1abc
6 description: str 1abc
7 data: bytes 1abc
9 model_config = {"val_json_bytes": "base64"} 1abc
12class DataOutput(BaseModel): 1abc
13 description: str 1abc
14 data: bytes 1abc
16 model_config = {"ser_json_bytes": "base64"} 1abc
19class DataInputOutput(BaseModel): 1abc
20 description: str 1abc
21 data: bytes 1abc
23 model_config = { 1abc
24 "val_json_bytes": "base64",
25 "ser_json_bytes": "base64",
26 }
29app = FastAPI() 1abc
32@app.post("/data") 1abc
33def post_data(body: DataInput): 1abc
34 content = body.data.decode("utf-8") 1def
35 return {"description": body.description, "content": content} 1def
38@app.get("/data") 1abc
39def get_data() -> DataOutput: 1abc
40 data = "hello".encode("utf-8") 1ghi
41 return DataOutput(description="A plumbus", data=data) 1ghi
44@app.post("/data-in-out") 1abc
45def post_data_in_out(body: DataInputOutput) -> DataInputOutput: 1abc
46 return body 1jkl