![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FastApi
文章平均质量分 84
FastApi学习记录
canglangye
一个爱读书的小程序猿
展开
-
FastApi学习-06
依赖注入在看到这个词汇的时候,没有任何的概念。在翻阅一些资料之后,有了一点点眉目。对于类A,要是实现A的功能,必须要类B的功能。所以在A中实例化一个B。一旦B需要重构,由于A几乎完全依赖与B,所以A几乎也要重构。这是一种相当耦合的模式,依赖注入就是为了解决这种耦合性。A不再new一个B的实例,而是让B的一个实例作为A的一个成员存在,A不再关注B的实例化,只关注B的方法。(这是我的理解,也许有不对的地方)在FastApi的框架中,依赖注入用于解决重复的逻辑代码,分享数据库的链接,统一验权等功能。旨在减原创 2020-06-02 09:22:10 · 1110 阅读 · 0 评论 -
FastApi学习-05
异常控制(http status code)@app.get("/request01")def request01(): raise HTTPException(status_code=401, detail={"custom": "自定义数据类型"}, headers={"Err-Msg": "123"}) return "hello world"class MyException(Exception): def __init__(self, msg):原创 2020-05-28 17:18:14 · 696 阅读 · 0 评论 -
FastApi学习-04
Cookie和Header前面的学习记录提到过FastApi框架提供了Cookie和Header方法用于接受cookie和header参数。cookie参数的接受和Query没有什么不同@app.get("/request01")def request01(*, val: str = Cookie(...)): return val@app.get("/request02")def request02(*, val: str = Header(...)): return原创 2020-05-27 11:53:00 · 412 阅读 · 0 评论 -
FastApi学习-03
多个request-bodyclass Item1(BaseModel): name: strclass Item2(BaseModel): name: str@app.post('/request_body01')def request_body01(*, item1: Item1, item2: Item2): return [item1, item2]@app.post("/request_body02")def request_body02(*, ite原创 2020-05-26 11:09:41 · 643 阅读 · 0 评论 -
FastApi学习-02
URL路径参数@app.get("/param_get1/{param}") # 以大括号包裹,默认是字符串类型,在路径中获取参数def param_get1(param): return {"param": param}@app.get("/param_get2/{param}") # 可以指定数据类型,会进行数据类型转化def param_get2(param: int): return {"param": param}在param_get2方法中,声明了数据类型原创 2020-05-22 16:26:57 · 457 阅读 · 0 评论 -
FastApi学习-01
写在前面FastApi是python的异步Web框架,具有和Go,NodeJs相当的性能,总而言之,很快。当然还有一些相比于其他Web框架的优势,例如支持了Swagger文档,增加Python3.6+的数据类型指示功能,基于Pydantic的数据类型校验等等。个人觉得有学一学必要,所在这写下自己的学习记录。安装pip install fastapipip install uvicorn其中uvicorn是一个ASGI(异步网关协议接口)服务器,介于网络协议和Python应用之间的标准接口原创 2020-05-21 13:52:49 · 897 阅读 · 0 评论