需要安装的东西:
pip install fastapi uvicorn
例子:
from typing import List, Optional
from pydantic import BaseModel, Field
from fastapi import FastAPI
app = FastAPI()
class Arrangement(BaseModel):
latitude: float = Field(..., description="中心点的纬度")
longitude: float = Field(..., description="中心点的经度")
arc_length: Optional[float] = Field(None, description="弧长")
angle: Optional[float] = Field(None, description="角度")
combat_units: List[dict] = Field(..., description="作战单元的列表")
@app.post("/709/arrangement")
async def arrangement(data: Arrangement):
return {"arrangement": data}
实例的大致说明:
这是一个FastAPI框架创建的Web应用。
定义了一个FastAPI实例app
。
接着,它定义了一个POST路由/709/arrangement
,路由接受一个Arrangement
模型作为请求体,并返回一个包含这个模型数据的JSON响应。
如何运行:
目前只演示如何进行post方法
首先启动FASTAPI的服务器:
在编辑器下的终端输入
uvicorn 11:app --reload
===============================================================
注意:这里的11是你文件的名字,如果文件名为11.py则写11:app(以此类推)
===============================================================
根据代码可知,可传入五个参数
则我们可以自行编写数据,后通过cmd下输入
curl -X POST "http://127.0.0.1:8000/709/arrangement" ^
-H "Content-Type: application/json" ^
-d "{\"latitude\": 34.0522,
\"longitude\": -118.2437,
\"arc_length\": 100.0,
\"angle\": 45.0,
\"combat_units\": [{\"unit_id\": \"001\", \"unit_type\": \"infantry\"}]}"
向服务器发送带有数据的post请求
这里写入了五个名字的数据,分别是lat,lon,arc,ang,com(简称)
运行后可以进入
http://127.0.0.1:8000/docs
这个文档可以方便查看和测试API,内部包含API文档
成功进入则说明服务器创建成功