1-搭建Fastapi后端服务

1,271 阅读2分钟

搭建Fastapi后端服务

关于设计思路

设计上想要采用微服务架构来编写,但是本人对如何设计微服务模式,还不太熟练,以下是我的一些简单设计,有修改意见欢迎大佬指出:

  1. Python的Fastapi用作后端服务,主要作用为接口测试平台的功能,后期与压测服务器等服务区分使用
  2. React作为前端服务,准备使用umi来拼凑一些前端页面,能用即可,前端学习ing
  3. Golang的Gin用作压测机的worker

开始前的准备

  1. Python3.4以上,3.9最佳
  2. IDE:Pycharm
  3. 新建一个文件夹,命名为abandon(里面存放我们的所有项目文件,如server和web)
  4. 在abandon中新建一个文件夹叫做abandon-server,作为我们的Python后端项目目录

环境准备

  1. 使用Pycahrm打开abandon-server项目
  2. 添加虚拟环境venv,添加我们的Python解释器
  3. 升级pip为最新(因为刚创建虚拟环境后,pip版本不是最新,在后续pip安装时会出现一些问题)
  4. 安装Fastapi并且安装uvicorn来作为服务器

pip install fastapi

pip install "uvicorn[standard]"

开始

初始化app

创建abandon-server/src/app/__init__.py

编辑__init__.py

from fastapi import FastAPI  
  
abandon = FastAPI()

编辑Web服务

创建abandon-server/main.py 编辑main.py

import uvicorn
from src.app import abandon  
  
  
@abandon.get('/')  
def hello_world():  
    return 'Hello Abandon!'  
  
  
if __name__ == "__main__":  
    uvicorn.run(app=abandon, host='0.0.0.0', port=9923)

其中@abandon.route("/")是一个装饰器, 代表hello_world这个函数与路由/进行绑定,也就是说当访问到/路由的时候,函数hello_world会自动执行。

uvicorn.run(app=abandon, host='0.0.0.0', port=9923) 这句话表示启动web服务,参数0.0.0.0表示接受任何ip的访问,port代表服务挂载的端口,这里我们以9923为端口号。

运行

尝试一下在Pycharm中,main.py文件下右键-run运行;也可以在终端使用命令python main.py来运行

验证

打开浏览器输入: http://localhost:9923/

如果看到这个hello Abandon!说明你成功了!