FastApi
Roy Lv7

mark
FastAPI framework, high performance, easy to learn, fast to code, ready for production

Documentation: https://fastapi.tiangolo.com

如果应对一个非常简单的需求,比如编写一个接口,总不能直接Django,但也不能写的很糙。如果用Flask,虽然可以用很短的代码写出一个能用的项目,但是需要很多地方需要处理。

如果使用FastApi就会简单很多:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class People(BaseModel):
name:str
age:int
address:str
salary:float

@app.post('/insert')
def insert(people:People):
age_after_10_years = people.age + 10
msg = "人名:{people.name},十年后的年龄为:{age_after_10_years}'
return {'success:'True,'msg':msg}

启动服务后,如果传入错误的值,返回值将会非常友好的告诉你哪里出错了。对类型的检查全部由FastAPI自己完成,非常pythonic。
使用fastAPI 需要使用uvicorn来运行FastAPI

1
2
pip install uvicorn
uvicorn main:app --reload

main: 代码文件名 main.py

app: 初始化FastAPI的对象名

–reload 代码修改后立即生效,不需要重启

GET 方法定义

1
2
3
4
@app.get('/quert/{uid}')
def query(uid):
msg = '您查询的uid为:{uid}'
return {'success':True,'msg':msg}

直接请求该地址:
http://127.0.0.1:8000/query/789
如果限定uid的类型,只需要在函数定义时候指定类型

1
def quert(uid:int):

除了这些之外,FastAPI还能帮我们快速的生成接口文档。
http://127.0.0.1:8000/docs

  • 本文标题:FastApi
  • 本文作者:Roy
  • 创建时间:2020-01-20 12:01:12
  • 本文链接:https://www.yrzdm.com/2020/01/20/FastApi/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!