背景:最近要写一个服务器的测试桩,post请求 给服务器,服务器在把请求的数据解析出来
post的请求格式为:
{ "total": 1, "rows": [ { "appkey": "abc", "msgid": 123, "regid": "xxxxxx", "channel": "app", "sub_channel": 0, "platform": "android", "itime": 57888847848, "status": 0, "err_code": 0, "reason": "", "loss_source": 1, "data_msgtype": 1 } ] }
解包实现为:
# -*- coding:utf-8 -*- #@Time : 2022/2/15 14:22 #@Author: 张君 #@File : PrivateCloud.py import uvicorn from fastapi import FastAPI from pydantic import BaseModel from typing import List, Set app = FastAPI() class Item(BaseModel): appkey: str msgid: int regid: str channel: str sub_channel:int platform: str itime: str status: int err_code: int reason: str loss_source: int data_msgtype: int class Offer(BaseModel): total: int rows: List[Item] @app.post("/offers/") async def create_offer(*, offer: Offer): return offer if __name__ == '__main__': uvicorn.run(app='main:app', host="127.0.0.1", port=8200, reload=True, debug=True)
在服务器中部署请求日志
参考文章如下:
https://www.cnblogs.com/xiao987334176/p/13099223.html