RESTful APl
REST全称是Representational State Transfer 还可以理解为”表现层态度转化“
REST与技术无关,代表一种软件风格
REST从资源的角度审视审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识
API与用户的通信协议,总是使用HTTPs协议
每一个URL代表一种资源
客户端通过HTTP动词对服务器端资源进行操作,实现“表现层状态转化”(GET,POST,PUT,DELETE)
RESTful设计规范的方法
GET :从服务器取出资源(一项或多项)
POST :在服务器新建一个资源
PUT :在服务器更新资源(客户端提供改变的完整资源)
PATCH :在服务器更新资源(客户端提供改变的属性)
DELETE :从服务器删除资源
状态码
200 请求成功,一般用于GET与POST请求
301 NO CONTENT -永久重定向
302 NO CONTENT -临时重定向
400 用户发送请求有错误
401 表示没有权限访问
403 表示用户得到授权(与401相反),但是禁止访问
405 请求方法错误
500 服务器内部错误,无法完成请求
drf框架
他仰赖与python django
在settings中配置在INSTALLED_APPS中
序列化器可选字段属性
段 字 | 段构造⽅式 |
---|---|
BooleanField | BooleanField() |
CharField | CharField(max_length=None, min_length=None, allow_blank=False, trim_whitespace=True) |
IntegerField | IntegerField(max_value=None, min_value=None) |
FloatField | FloatField(max_value=None, min_value=None) |
DateTimeField | DateTimeField(format=api_settings.DATETIME_FORMAT, input_formats=None) |
DateField | DateField(format=api_settings.DATE_FORMAT, input_formats=None) |
TimeField | TimeField(format=api_settings.TIME_FORMAT, input_formats=None) |
FileField | FileField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL) |
ImageField | ImageField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL) |
选项参数
参数 | 作用 |
---|---|
max_length | 最大长度 |
min_length | 最小长度 |
allow_blank | 是否允许为空 |
teim_whitespace | 是否截断空白字符 |
max_ _value | 最小值 |
min_value | 最大值 |
通用参数
参数名称 | 说明 |
---|---|
read_only | 表明该字段仅用于序列化输出,默认False |
write_only | 表明该字段仅用于反序列化输入,默认False |
required | 表明该字段在反序列化时必须输入,默认True |
default | 反序列化时使用的默认值 |
allow_null | 表明该字段是否允许传入None,默认False |
validators | 该字段使用的验证器 |
error_messages | 包含错误编号与错误信息的字典 |
label | 用于HTML展示API页面时,显示的字段名称 |
help_text | 用于html展示API页面时,显示的字段帮助提示信息 |