FastAPI框架快速构建高性能的api服务

https://cloud.tencent.com/developer/article/1431448

 

使用FastAPI可以非常快速的构建出一套高性能的api服务。下面通过实战演示一下:

fastapi目前仅支持python 3.6+以上版本。

一、安装fastapi和uvicorn

pip install fastapi
pip install uvicorn

二、新建一个main.py文件,编写如下代码

from fastapi import FastAPI

app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}

三、运行接口服务

在命令行,执行下面的命令

uvicorn main:app --reload

四、请求接口

运行成功后在浏览器打开http://127.0.0.1:8000 ,你将在一个JSON格式响应结果:

{'hello':'world'}

再次在浏览器打开http://127.0.0.1:8000/items/5?q=somequery,你将在一个如下JSON格式响应结果:

{'item_id':5,'q':'somequery'}

五、可视化API文档

现在在浏览器中打开http://127.0.0.1:8000/docs,你会看到一个可以交互的api文档

 

 

你也可以其他方法的装饰器:

  • @app.post()
  • @app.put()
  • @app.delete()

还有一些比较少见的方法的装饰器:

  • @app.options()
  • @app.head()
  • @app.patch()
  • @app.trace(


建议

你可以使用任意的HTTP方法.

FastAPI不强制任何特定函数。

此处提供的信息,仅供参考,并非必需。

例如,当使用 GraphQL , 你通常会只执行post方法

 

总结

  • Import FastAPI.
  • 创建一个 app 实例.
  • 编写一个 路径操作装饰器 (比如@app.get("/")).
  • 编写一个路径操作函数 (比如上方的 def root(): ... ).
  • 运行开发服务器(比如uvicorn main:app --reload).

 

 

文档: https://fastapi.tiangolo.com/

https://www.jianshu.com/p/daf9150c0466

你可能感兴趣的:(FastAPI框架快速构建高性能的api服务)