Flask 应用程序迁移到 FastAPI。主要的更改包括:
- 使用
FastAPI替代Flask来创建应用程序。 - 使用
@app.post和@app.get装饰器来定义路由和处理函数。 - 使用
pydantic中的BaseModel来定义请求数据模型。 - 使用
await request.json()来解析 JSON 请求数据。 - 使用
uvicorn来运行 FastAPI 应用程序。
可以通过运行 uvicorn 来启动 FastAPI 应用程序,只需在终端中运行以下命令:
uvicorn your_app_name:app --host 0.0.0.0 --port 8080
确保将 your_app_name 替换为你的应用程序的模块名或文件名。然后就可以像以前一样访问你的 FastAPI 应用程序。
端口映射
网络设置:
- PC IP: 192.168.6.68
- PC 作为路由器,通过网络共享向开发板提供局域网 192.168.6.0/24
- 开发板连接到这个局域网,IP 设置为 192.168.6.100
- 开发板在烧录镜像时,默认配置了IP 192.168.137.100
- 在路由器或者开发板上,配置了从外部访问192.168.137.100的请求转发到内网192.168.6.100
- 所以从外部使用SSH访问192.168.137.100,实际上是访问的开发板的内网IP 192.168.6.100
- 192.168.137.100 仅作为开发板的外部访问地址,不在实际网络中
即192.168.137.100 是开发板的外部访问IP,通过端口映射转发到内网的真实IP 192.168.6.100。开发板与PC在同一内网192.168.6.0/24中,PC提供DHCP服务。这样就可以通过固定的外部IP访问到实际动态变化的内网IP。
192.168.6.0/24 表示一个子网掩码为 255.255.255.0 的局域网。 在IP地址划分中,子网掩码用于定义网络号和主机号的划分方式。 例如192.168.6.0/24 的意思是: 192.168.6.0 表示这个网络的网络地址 /24 表示子网掩码为 24 个1,即 255.255.255.0 用二进制表示是: 网络地址:11000000 10101000 00000110 00000000 子网掩码:11111111 11111111 11111111 00000000 按位与操作,可以提取出网络号为192.168.6 主机号为0-255 即192.168.6.0/24表示一个包含256个IP地址的网段,从192.168.6.1 到 192.168.6.255,其中.0和.255为保留地址。
在这个网段内的设备都是在同一个局域网内,可以直接通信。这就是网络划分中的C类子网的典型表示方式。