• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
武纪亨
博客园    首页    新随笔    联系   管理    订阅  订阅
接口相关

内容概要

  • Web应用模式
  • API接口
  • 接口测试工具postman
  • restful规范(重要)

1 Web应用模式

# 前后端混合开发
	-bbs项目,页面渲染是在后台完成--->render(request,'index.html')
  -后端人员---》写前端css,js,html
# 前后端分离开发---》主流---》前端发展出一些框架(vue,react)
	-js的dom操作---》html页面--》通过js在页面中插入内容
  -bom和dom
  -不用模板语法渲染页面了----》在前端使用js渲染页面
  -页面渲染在前端完成
  -以后前端人员只负责写前端
  -后端人员只负责写后端
  -前端的展现形式---》不一定只是网页,可能是app,小程序
  
  
# https://www.cnblogs.com/liuqingzheng/p/10900502.html

2 API接口

# api接口:前后端交互的媒介
# 接口有的东西
	-url地址
  -请求方式:get ,post
  -请求参数:name='西游记'
  	get请求--->127.0.0.1/books?name='西游记'
  -响应结果
  	-http响应--》响应状态码--》响应头---》响应体(json)
  	

3 接口测试工具postman

# 对接口进行测试---》在浏览器中只能发送get请求,发不了post,delete..
# 接口测试工具:mac,win,linux都可以
# 使用最多的软件:postman ---》后来慢慢收费了---》Postwoman

# 下载地址:https://www.getpostman.com/downloads/
# 双击就装完了
# 前后端交互的编码格式有哪几种?
	-urlencoded:正常的post请求提交数据:name=lqz&age=19
  -formdata:post请求上传文件:带文件二进制形式
  -json:body体中的数据格式为:{"name":"lqz","age":19}--》用的多

4 restful规范(重要)

# 前后端交互使用api接口---》符合某种规范---》restful规范---》写前后端分离的标准
# REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征性状态转移)。 它首次出现在2000年Roy Fielding的博士论文中。
RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中


# https://api.weibo.com/2/account/get_uid.json
# 10条内容---》
	-1 数据的安全保障--》通常使用https协议 
  	-2 用api关键字标识接口---》在接口中带api字眼--》让别人一看就知道这是个api接口
  	-https://api.baidu.com/books
		-https://127.0.0.1:8080/api/books
        
 	 -3 多版本共存--->在接口地址中带版本号---》
  		-都留---》尽快升级---》xx年我们就不支持xx以下版本了
  		-有的人用了老版本app--》老接口v1
    	-有的人用了新版本app--》新接口v2
      -https://api.baidu.com/v1/login
			-https://api.baidu.com/v2/login
	-4 数据即是资源,均使用名词(可复数)--》请求地址中尽量不出现动词
  		-https://api.baidu.com/v1/users  # 获取用户,删除用户,新增用户
   
  -5 资源操作由请求方式决定-->get,post,delete ,put,patch
  	-get请求是获取数据
    -post请求是新增数据
    -delete请求是删除数据
    -put请求是修改数据
    -patch请求是局部修改数据
    
  -6 请求地址中带过滤条件
  	-https://api.example.com/v1/zoos?limit=10  # 返回10条数据
    -https://api.example.com/v1/books?name=西游记  # 查询名字是西游记的这本书
      
  -7 响应状态码(http的响应状态码,响应体的json数据中带状态码)
  	-http的响应状态码
      -1xx:请求正在处理
      -2xx:请求成功(200,201)  200和201有什么区别?
      -3xx:重定向 (301和302有什么区别)
      -4xx:客户端错误(404:地址不存在,403:禁止了)
      -5xx:服务端错误 
    -响应体中返回json格式数据---》code,status--->也有状态码---》服务端自定义的
    	-1001  :用户名错误
      -1002   :没有权限。。
      
 -8 错误处理,应返回错误信息
		-返回数据是json格式--》带状态码---》错误信息
      {
        error: "无权限操作"
    	}
-9 返回数据格式符合如下规范(大部分公司不按这个)
	-多条数据返回列表
	GET /collection:返回资源对象的列表 [{name:lqz,age:19},{name:pyy,age:33}]
  -单条数据返回字典
  GET /collection/resource:返回单个资源对象 {name:lqz,age:19}
  -新增,返回新增的对象---》{name:lqz,age:19}
  POST /collection:返回新生成的资源对象
  -修改,返回修改后的对象--》{name:lqz,age:19}
  PUT /collection/resource:返回完整的资源对象
  -修改,返回修改后的对象--》{name:lqz,age:19}
  PATCH /collection/resource:返回完整的资源对象
  -删除,返回空文档
  DELETE /collection/resource:返回一个空文档  -->{code:100,msg:删除成功}
  
  
-10 返回资源中链接地址
  {
      "id": 1404376560,
      "description": "人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。",
      "url": "http://blog.sina.com.cn/zaku",
      "profile_image_url": "http://tp1.sinaimg.cn/1404376560/50/0/1",
      "domain": "zaku",
  }
	
  
  
  
   #面试题: http协议版本,你聊聊?
  	 0.9     1.1       2.0
posted on 2022-03-28 23:35  Henrywuovo  阅读(40)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3