首页 清松游戏介绍 正文

FastAPI 好学吗?对比其他框架优势在哪里?

今天咱来聊聊FastAPI,这玩意儿最近挺火,说是性能贼上手还快。作为一个爱折腾的人,我肯定得亲自试试水,看看它到底有没有传说中那么神。

安装走起

你得有个Python环境,版本得是3.7以上的。我早就装好Python 3.9,所以这步直接跳过。然后,打开你的命令行工具,输入下面这行命令:

FastAPI 好学吗?对比其他框架优势在哪里?

pip install fastapi

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

FastAPI 好学吗?对比其他框架优势在哪里?

等进度条跑完,FastAPI就算装好。不过光有FastAPI还不够,咱还得装个ASGI服务器,比如Uvicorn或者Hypercorn。我选Uvicorn,因为它用起来简单:

pip install uvicorn

FastAPI 好学吗?对比其他框架优势在哪里?

写个“Hello, World!”

环境搭好,接下来就是见证奇迹的时刻。创建一个新文件,比如叫,然后把下面这段代码复制进去:


from fastapi import FastAPI

app = FastAPI()

FastAPI 好学吗?对比其他框架优势在哪里?

async def read_root():

return {"Hello": "World"}

这段代码看着挺唬人,就干一件事:创建一个FastAPI应用,然后定义一个根路由“/”,当你访问这个路由的时候,它就返回一个JSON:{"Hello": "World"}

保存文件,然后在命令行里切换到所在的目录,输入:

FastAPI 好学吗?对比其他框架优势在哪里?

uvicorn main:app --reload

看到类似下面这样的输出,就说明服务器启动成功:

INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

FastAPI 好学吗?对比其他框架优势在哪里?

INFO: Started reloader process [28720]

INFO: Started server process [28722]

INFO: Waiting for application startup.

INFO: Application startup complete.

打开你的浏览器,输入http://127.0.0.1:8000,你应该就能看到{"Hello": "World"}。是不是很简单?

FastAPI 好学吗?对比其他框架优势在哪里?

加点料

光返回“Hello, World!”没啥意思,咱来加点参数。修改一下:


from fastapi import FastAPI

app = FastAPI()

FastAPI 好学吗?对比其他框架优势在哪里?

async def read_root():

return {"Hello": "World"}

@*("/items/{item_id}")

async def read_item(item_id: int, q: str = None):

return {"item_id": item_id, "q": q}

FastAPI 好学吗?对比其他框架优势在哪里?

这回咱加个新的路由“/items/{item_id}”,它接受一个路径参数item_id,类型是整数,还有一个可选的查询参数q,类型是字符串。FastAPI会自动帮你做类型检查和转换,如果参数类型不对,它会返回一个清晰的错误信息。

保存文件,Uvicorn会自动重新加载应用。试试访问http://127.0.0.1:8000/items/5http://127.0.0.1:8000/items/5?q=somequery,看看返回结果有什么不同。

自动文档

FastAPI最让我喜欢的一点是,它会自动生成API文档。访问http://127.0.0.1:8000/docs,你会看到一个交互式的API文档页面,你可以在这里测试你的API,查看每个接口的参数和返回值。这玩意儿简直是懒人福音,再也不用手写API文档!

总结

一番折腾下来,我对FastAPI的初步印象还不错。它确实像传说中那样,性能上手快,而且自动生成文档的功能简直不要太方便。不过这只是冰山一角,FastAPI还有很多高级特性,比如数据校验、依赖注入、安全认证等等,等我以后有时间再慢慢研究。FastAPI值不值得入坑不好说,至少说它还是个挺有意思的工具,这回分享就先到这里!

FastAPI 好学吗?对比其他框架优势在哪里?

相关推荐