FastApi学习笔记

网络学习

POST请求把数据放请求体里(url里也可以放),GET请求把数据放请求首行的url里面,无请求体

content-type是请求的格式,请求体也是一个字符串,需要解码,解码的方式按照content-type来。如上图是JSON格式,请求体就按照JSON的序列化来。

相应首行的200指的是正常返回。(404找不到,5开头服务器错误,3开头重定向问题)

FastApi部分

一键启动

FastApi自带的接口文档

分模块写路由

在app文件夹下建app01子文件夹

在main.py添加绑定

路径参数

路由是有顺序的

如出现路由一致,会先调用上面的路由函数。

查询参数

与路径参数不同的是,查询参数是以 /jobs?kd=java&xl=本科&gj=3-5年传递,不用写在后端的URL里面,函数参数里面不属于路径参数的 会自动被认为是查询参数。

查询参数可以有缺省值,但无缺省时必须要有值。

类型注解

可以限制参数的类型

上述写法在导入Optional包后可以简写成为 xl:Optional[str] 

pytantic

简介

用法

定义好的类型可以直接用于函数的类型限制。

类里面也可以为变量加默认值

pytantic里面有一个Feild类,支持对参数的范围限制

自定义数据检查

导入pytantic里面validator就可以用,类似于flask的表单检查。装饰器里面写要检查的字段名,cls表示当前类,value表示前端传过来的数据值。

类可以嵌套使用。

Form

1. 简介和安装

2. 使用

3. 作用

用于接收前端表单数据,映射赋值给这两个变量。常用于账号密码

小文件上传

1.  包

2. socket的content-type

当参数默认值为File()时自动改变type

3. 使用

多文件

句柄文件上传

1. 包

2. 使用

request

1. 包

falsk下的Request

2. 使用

静态文件

1. 包

2. 使用

3. 可以让客户端直接访问到这些静态资源        

响应模型

1. 使用

2. 作用

自动返回的数据转为成定好的类型。

特殊参数

函数参数,设置后只返回非默认值参数

Jinja2

1. python占位符的格式

ORM

1. 包下载

2. 使用

大项目需要先画ER图

数据库迁移

查询操作

需要异步操作

过滤查询 -- 返回 Queryset对象

get的过滤查询 -- 返回模型类型的对象

模糊查询

取指定列的数据组成键值对

插入

自然链接查询

更新

简便写法,**字典 可以将字典对象拆成age=18,id=1 的数据,*list理

Restful规范

中间件

1. 定义

2. 用法

        

越下面的中间件越早执行,对于m1 callnext函数是m2, 对于m2callnext是当前访问的路由函数。

response就是当前访问的路由函数的返回值。

可以对相应socket做统一处理。

CORS组件

处理跨域请求

在中间件上对给响应头都加上一个参数,意味所有ip都可访问。

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值