drf 01——web开发模式、restful规范、drf

WEB开发模式


api接口

​ 前后端信息交互的媒介

​ 前端(pc,小程序,app)------>后端路由------>视图函数------>返回json格式数据 这个东西被称为接口

​ 写接口要有规范 即restful规范

接口测试工具

​ --postman

​ postman 就是一个替代浏览器,发送http请求的工具

​ 因为用浏览器不能发送post请求,只能用代码写ajax发请求

​ 通过postman可以发送任意请求

form-data	  上传文件
urlencoded	   form、ajax表单默认	
json		  只能ajax,contentType:application/json		
django中 使用form-data或者urlencoded编码	提交的数据从POST中取

json格式编码 只能从request.body内取 	取出的为二进制字符串	 还需json.loads()	

restful规范

  REST全称是Representational State Transfer 表征性状态转移
    RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中
      10条规范
1. 使用https数据交互
	http+tsl/ssl=https		比http更安全 交互是加密传输
    交互用json
2. 接口地址中带api标识
	https://api.baidu.com/books   域名中
	https://www.baidu.com/api     地址中
3. 接口地址中表示版本标识
	-https://api.baidu.com/v1
4. 数据即是资源,均使用名词,不要出现动词
    -删除图书接口
      -好的:https://api.baidu.com/v1/books
      -不好的:https://api.baidu.com/v1/delete-books	
    -新增图书:https://api.baidu.com/v1/books
5. 资源操作由请求方式决定
    -新增图书:https://api.baidu.com/v1/books    post
    -删除图书:https://api.baidu.com/v1/books    delete
    -修改图书:https://api.baidu.com/v1/books    put
    -获取图书:https://api.baidu.com/v1/books    get
6. 地址中带搜索条件
    -https://api.example.com/v1/zoos?animal_type_id=1:指定筛选条件
    -https://api.baidu.com/v1/books?name=红楼梦
7. 响应状态码
  -http的响应状态码
    	-1xx   请求正在处理
      	-2xx   成功  200 请求成功    201 创建成功
        -3xx   重定向  301302 ---》问301302的区别?一个是临时重定向一个是永久重定向
        -4xx   客户端错误 403404  403:没有权限   404:地址不存在
        -5xx   服务端错误 
  -响应中带状态码
      	{code:100}
8. 响应中带错误信息
  	{code:999,msg:登陆失败}
9. 针对不同操作,服务器向用户返回的结果应该符合以下规范
      GET /collection:返回资源对象的列表(数组) 
    		-[{name:红楼梦,price:12},{name:西游记,price:12}]
      GET /collection/resource:返回单个资源对象
      		-{name:西游记,price:12}
      POST /collection:返回新生成的资源对象
      		-{name:西厢记,price:12}
      PUT /collection/resource:返回完整的资源对象
      		-{name:西游记,price:12}
      PATCH /collection/resource:返回完整的资源对象
      		-{name:西游记,price:12}
      DELETE /collection/resource:返回一个空文档
      		-
10. 响应中带链接地址  		

drf

  djangorestframework 的缩写,它是django的一个app(第三方插件),只能用在django框架上
  # 可以帮助我们快速的写出符合restful规范的接口
posted @   扶我上码  阅读(25)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示