FastAPI上传POST多个对象BaseModel数据JSON,python
  AnyLlCIhvKpr 2023年11月12日 22 0

FastAPI上传POST多个对象BaseModel数据JSON,python

from typing import Optional

import uvicorn
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()


class Person(BaseModel):
    name: str
    desc: Optional[str] = None


class User(BaseModel):
    username: str
    age: Optional[int] = 0


@app.post("/item/{item_id}")
async def item(item_id: int, person: Person, user: User):
    results = {"item_id": item_id, "person": person, "user": user}
    return results


if __name__ == '__main__':
    uvicorn.run(app=app, host="0.0.0.0", debug=True)

在postman里面构造多个对应的json数据对象:

FastAPI上传POST多个对象BaseModel数据JSON,python

如果上传的既有JSON也有其他基本类型时候,比如一个count=10,则需要定义 Body():

from typing import Optional

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

app = FastAPI()


class Person(BaseModel):
    name: str
    desc: Optional[str] = None


class User(BaseModel):
    username: str
    age: Optional[int] = 0


@app.post("/item/{item_id}")
async def item(item_id: int, person: Person, user: User, count: int = Body()):
    results = {"item_id": item_id, "person": person, "user": user, "count": count}
    return results


if __name__ == '__main__':
    uvicorn.run(app=app, host="0.0.0.0", debug=True)

FastAPI上传POST多个对象BaseModel数据JSON,python

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   39   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   28   0   0 python
  TEZNKK3IfmPf   2024年05月31日   35   0   0 excelpython
  TEZNKK3IfmPf   2024年05月31日   31   0   0 python
AnyLlCIhvKpr