FastAPI 学习之路(二)

简介: FastAPI 学习之路(二)

之前的文章已经介绍了如何安装,以及简单的使用,这篇文章呢,我们就不去分享如何安装对应的包了。


       我们如何去编写呢,其实很简单,按照下面的步骤,一个简单的基于fastapi的接口就编写完毕。


       首先:创建一个main.py


       第一步:导入

from fastapi import FastAPI


   第二步:实例化


app = FastAPI()


第三步:定义一个路径操作装饰器


@app.get("/")
'''
@app.get("/") 告诉 FastAPI 在它下方的函数负责处理如下访问请求:
请求路径为 /
使用 get 操作
你也可以使用其他的操作:
    @app.post()
    @app.put()
    @app.delete()
    以及更少见的:
    @app.options()
    @app.head()
    @app.patch()
    @app.trace()
这些对应都是请求方式 '''


第 四步:定义路径操作函数


 第五步:返回内容


#函数在路径装饰器的下方
#写法一
@app.get("/")
async def root():
    #第五步定义的返回内容
    return {"message": "Hello World"}
#写法二
@app.get("/")
def root():
    #第五步定义的返回内容
    return {"message": "Hello World"}


返回内容可以是dict,也可以是list, str、int 等都可以。

 

然后我们就可以去启动了。


uvicorn main:app --reload#下面是启动完毕


image.png


我们在浏览器去访问


image.png


结果返回正常。


   这里要说明的,上面app以及包括main.py还有方法的名称,大家都可以自己自定义,自定义后启动,就按照命令改成自己可以用的即可。


   上面是一个简单的get请求,其他请求方式也是可以的,比如我们写一个post的路径,我们这里先不交验参数


定义一个/create路径,返回post。请求方式是post,如何实现呢?


答案如下:


@app.post("/create")def post():  
    return "post"


那么我们保存,我们可以看到,后台服务自动重启了


image.png


那么我们用浏览器去访问下


image.png


接口直接给我们返回了,方法不被允许,那么我们可以用postman来试下。


image.png


这次我们使用post直接返回了,我们定义的post的字符串。这次就大概的给大家演示一个如何创建接口,按照六步法(其中四五可以认为是一步)创建即可。


导入 FastAPI。
创建一个 app 实例。
编写一个路径操作装饰器(如 @app.get("/"))。
编写一个路径操作函数(如上面的 def root(): ...)
定义返回值
运行开发服务器(如 uvicorn main:app --reload)
相关文章
|
NoSQL 测试技术 Redis
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
|
测试技术 数据安全/隐私保护
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
|
存储 测试技术 数据安全/隐私保护
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
|
NoSQL Redis 数据库
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论
FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论
FastAPI(七十七)实战开发《在线课程学习系统》接口开发-- 课程编辑和查看评论
FastAPI(七十七)实战开发《在线课程学习系统》接口开发-- 课程编辑和查看评论
FastAPI(七十六)实战开发《在线课程学习系统》接口开发-- 课程详情
FastAPI(七十六)实战开发《在线课程学习系统》接口开发-- 课程详情