持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情
RESTful风格api
- WEB开发中设计api时,尤其是前后端分离的项目,一般会遵循RESTful风格的api
- RESTful风格的api的最基本原则是:使用HTTP协议的请求方式表示动作目的。
- 比如:使用
GET请求表示获取数据,使用POST请求表示提交数据,使用PUT请求表示更细数据,使用DELETE请求表示删除数据等等。 - RESTful风格的api没有标准的要求,也不是任何时候都需要遵循。
- FastAPI中可以明显看出RESTful风格,我们一块看下。
FastAPI中的RESTful风格
比如下面这个例子,我们定义了一个GET请求方式的接口
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
其中:
-
@app.get("/")称为路径操作装饰器,这样写会告诉FastAPI在它下方的函数负责处理如下访问请求- 请求路径为
/ - 使用
GET操作
- 请求路径为
-
类似的,FastAPI还提供了其他的操作(你可以随意使用任何一个操作(HTTP方法)。):
@app.post()@app.put()@app.delete()
async def root()称为路径操作函数,这是一个Python的函数,每当 FastAPI 接收一个使用GET方法访问 URL「/」的请求时这个函数会被调用。- 上面的例子,路径操作函数是由
async def定义的协程函数,当然路径操作函数也可以是普通函数.FastAPI知道如何区分它们并知道如何调用它们。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"message": "Hello World"}
-
return {"message": "Hello World"}返回内容。 -
你可以返回一个
dict、list,像str、int一样的单个值,等等。 -
你还可以返回 Pydantic 模型(稍后你将了解更多)。
还有许多其他将会自动转换为 JSON 的对象和模型(包括 ORM 对象等)。尝试下使用你最喜欢的一种,它很有可能已经被支持。