1. 处理多客户端登录注册
当存在多种类型的客户端的时候,我们就要编写多个验证Form
,这时候继承是最好的选择。
对于api
接口来说,一般传的数据格式都是json
格式。这时我们要验证数据的时候,验证方式为
1 | data = request.json |
REST细节特性:输入输出都需要是json格式的
这里说的json
格式不仅是数据返回的时候,还包括报错和提醒。
只有我们考虑编码的细节和逻辑,我们的编码能力才能提高!
2. 自定义异常对象
我们之前知道很多异常对象和状态码绑定,但是我们想要实现自己的异常对象应该如何实现呢?
我们看一下一些状态码的含义:
- 400 请求参数有误
- 401 未授权
- 403 禁止访问
- 404 没有找到
- 500 服务器报错
- 200 查询成功
- 201 创建更新成功
- 204 删除成功
- 301 重定向
默认情况下的异常返回都是HTML
格式的,为什呢?看下源码:
1 |
|
正是上面两个方法指定了默认返回值都是网页的方式。
我们可以通过重写上面这些方法来将返回值变成json
格式。
我们编写一个异常类APIException
继承HTTPException
来作为异常基类。
1 | from flask import request, json |
完成基类创建后,我们就可以创建很多自己定义的异常类了。
1 | class ClientTypeError(APIException): |
定义好之后就可以直接返回或者抛出
1 | raise ClientTypeError() |