• 欢迎光临~

web应用模式 api接口 接口测试工具postman restful规范

开发技术 开发技术 2022-12-30 次浏览

目录
  • web应用模式
    • 前后端混合开发
    • 前后端分离开发
  • api接口
  • 接口测试工具postman
  • restful规范(重要)
    • 简介
    • 主要内容
  • 练习

web应用模式

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

前后端混合开发

传统的开发模式:

web应用模式 api接口 接口测试工具postman restful规范

页面的渲染通过模板语法(dtl) 渲染是在后台完成:

render(request,'index.html')
-后端人员 ---> 写前端css,js,html

web应用模式 api接口 接口测试工具postman restful规范

放在django template下的这些html页面 不能称之为纯粹的html 而是称之为模板。后端将数据填充到这些模板中,将模板进行渲染,渲染后的模板也就是纯的html。

选择模板语法:
web应用模式 api接口 接口测试工具postman restful规范

补充:flask使用的是jinja2模板语法。

前后端分离开发

一开始流行的是前后端结合的开发方式。
后来因为前端的发展,催生了前端框架,前端变得越来越复杂。
导致前后端分离开发变成主流。

web应用模式 api接口 接口测试工具postman restful规范

静态页面通过Javascript向django框架发送ajax请求,在后端数据库查到数据,后端将json格式的数据返回,返回之后前端通过js的DOM操作操作某个标签的内容。也就是js拿到json格式的数据,再来渲染页面。

页面渲染在前端完成 在前端使用Javascript代码渲染页面。

前后端分离的好处:
前端的展现形式 不一定只是网页了
前端可能是写app、小程序, 后端只需要提供接口就行了 。
前后端混合开发时,前端只能是浏览器。

更多阅读:
https://www.cnblogs.com/liuqingzheng/p/10900502.html

api接口

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

前端和后端数据交互 需要遵循一些规范。
前端向后端拿数据的地方:api接口

api接口长什么样?
web应用模式 api接口 接口测试工具postman restful规范

这个url地址就称之为api接口。

接口测试工具postman

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

# 下载地址:https://www.getpostman.com/downloads/
# 双击就装完了

基本介绍:

web应用模式 api接口 接口测试工具postman restful规范

postman和浏览器的区别:
web应用模式 api接口 接口测试工具postman restful规范

把请求归类到项目中:
web应用模式 api接口 接口测试工具postman restful规范

前后端交互的编码格式有哪几种?

  -urlencoded:正常的post请求提交数据:在请求体中的格式:name=lqz&age=19
  -formdata:post请求上传文件:带文件二进制形式
  -json:body体(请求体)中的数据格式为:{"name":"lqz","age":19}--》用的多

restful规范(重要)

简介

# 什么是restful规范?
1. 前后端交互使用api接口
2. api接口符合某种规范
3. 这种规范称之为restful规范
4. 这种规范是写前后端分离项目的标准

# REST的含义
REST全称是:Representational State Transfer
中文意思是表述(编者注:通常译为表征性状态转移)。 
它首次出现在2000年Roy Fielding的博士论文中。

# restful规范的定义
RESTful是一种定义Web API接口的设计风格(方案),
尤其适用于前后端分离的应用模式中

主要内容

  1. 使用https协议
    为了保证数据的安全,url接口通常使用https协议

  2. 用api关键字标识接口

    在接口中带api字眼 --> 让别人一看就知道这是个api接口
    
    # 示例:
    https://api.baidu.com/books
    https://127.0.0.1:8080/api/books
    
  3. 接口多版本共存

    # 示例
    老版本的登录需要提供三个数据:用户名 密码 验证码
    新版本的登录只需要两个数据:手机号 短信验证码  
    
    -有的人用了老版本app--》老接口v1 三个参数
    -有的人用了新版本app--》新接口v2 两个参数
    
    # 登录接口是都留着还是只留下一个?
    肯定是都留,保证支持老版本的app。
    通过在接口地址中加版本号区分接口。
    
    -https://api.baidu.com/v1/login 老版本的登录接口
    -https://api.baidu.com/v2/login 新版本的登录接口
             
    

    微博api示例:
    web应用模式 api接口 接口测试工具postman restful规范
    https://api.weibo.com/2/account/get_uid.json
    这里的2就是接口的版本。

  4. 数据即是资源

    数据即是资源,均使用名词(可复数):
    请求地址中尽量不出现动词
    
    # 一个用户数据接口的例子:
    https://api.baidu.com/v1/users
    
  5. 操作资源由请求方式决定

    
    -get请求是获取数据
    -post请求是新增数据
    -delete请求是删除数据
    -put请求是修改数据
    -patch请求是局部修改数据
    
    '''
    想要获取用户 就往用户接口 发送get请求
    想要删除用户 就往用户接口 发送delete请求
    
    不同的请求有不同的含义。
    '''
    
  6. 请求地址中带过滤条件

    	-https://api.example.com/v1/zoos?limit=10  # 返回10条数据
        -https://api.example.com/v1/books?name=西游记  # 查询名字是西游记的这本书
    
  7. 响应状态码
    后端返回给前端的json数据中应该携带响应状态码。

    # 1.http的响应状态码
          -1xx:请求正在处理
          -2xx:请求成功(200,201)  200和201有什么区别?
          -3xx:重定向 (301和302有什么区别)
          -4xx:客户端错误(404:地址不存在,403:禁止了)
          -5xx:服务端错误 
    # 2.自定义状态码
    -响应体中返回json格式数据:code,status
    自定义状态码是程序员自己定义的,也会通过json数据返回给前端。
    自定义状态码在接口文档会列出来:
          -1001  :用户名错误
          -1002  :没有权限
    
  8. 错误提示信息

    -返回数据是json格式--》带状态码---》错误信息
          {
            error: "无权限操作"
        	}
    

    每个状态码应该写一段提示信息,一起返回给前端。
    请求失败,应返回错误提示信息;
    请求成功,也要返回成功的信息。

  9. 返回的数据格式规范
    返回的数据格式符合如下规范:(大部分公司不按照这个规范,而是自定义)

    
    # 对于不同的请求,返回的数据格式不同:
    
      -多条数据返回列表
      GET /collection:返回资源对象的列表 		       
      [{name:lqz,age:19},{name:pyy,age:33}]
    
      -单条数据返回字典
      GET /collection/resource:返回单个资源对象         
      {name:lqz,age:19}
    
      -新增,返回新增的对象
      POST /collection:返回新生成的资源对象		       
      {name:lqz,age:19}
    
      -修改,返回修改后的对象
      PUT /collection/resource:返回完整的资源对象
      {name:lqz,age:19}
        
      -修改,返回修改后的对象
      PATCH /collection/resource:返回完整的资源对象
      {name:lqz,age:19}
    
      -删除,返回空文档
      DELETE /collection/resource:返回一个空文档  
    
    '''
    一般公司不会返回空文档,而会这么写:
    	{code:100,msg:删除成功}
    '''
    
  10. 返回资源中带有链接地址
    返回结果中提供链接,连向其他api方法。

     # 示例: 
    	{
          "id": 1404376560,
          "description": "人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。",
          "url": "http://blog.sina.com.cn/zaku",
          "profile_image_url": "http://tp1.sinaimg.cn/1404376560/50/0/1",
          "domain": "zaku",
    	}
    

练习

1 postman安装使用,整理resful规范
2 把drf安装上,写出5个接口
3 面试题: http协议版本,你聊聊?
	0.9     1.1       2.0
4 http状态码      
程序员灯塔
转载请注明原文链接:web应用模式 api接口 接口测试工具postman restful规范
喜欢 (0)