【1.0】DRF之引入

【一】web应用模式

【1】前后端混合开发

  • 后端人员
    • 既要写后端,django
    • 又要写前端

【2】前后端分离

  • 后端人员
    • 只写后端,写一个个的API接口
  • 前端人员
    • 只写前端
  • 最后项目写完
    • 前后端联调

【二】API接口

【1】详解

【1】介绍

  • API接口(Application Programming Interface,应用程序编程接口)是一组定义了不同软件组件之间交互方式的规范。
  • 它可以使不同的软件系统能够相互通信、共享数据和功能。
  • API接口通过提供一系列定义良好的方法和规则,允许开发者使用预先定义的接口调用其他软件组件的功能,而无需了解底层实现细节。

【2】详解

  • 功能定义:

    • API接口定义了软件组件可以提供的功能。

    • 这些功能可以包括获取数据、执行操作或访问外部资源等。

    • 通过使用API接口,开发者可以直接调用这些功能,而不需要了解具体的实现细节。

  • 参数和返回值:

    • API接口还定义了方法的参数和返回值。

    • 开发者需要按照接口定义提供正确的参数,并处理返回的结果。

    • 通过定义清晰的参数和返回值,API接口可以确保开发者和组件之间的交互更加可靠和易于理解。

  • 协议和格式:

    • API接口定义了组件之间通信的协议和数据格式。

    • 常见的协议包括HTTP、REST、SOAP等,而数据格式可以是JSON、XML等。

    • 通过遵循相同的协议和格式,不同的软件组件可以无缝地进行通信和数据交换。

  • 认证和安全性:

    • API接口通常还涉及认证和安全性机制,以确保只有经过授权的用户才能访问接口。

    • 常见的认证方式包括使用API密钥、OAuth等。

    • 同时,API接口也要考虑数据传输的安全性,例如使用HTTPS协议进行数据加密。

  • 错误处理:

    • API接口需要定义错误处理机制,以便处理发生在调用过程中的异常情况。
    • 这包括参数错误、权限不足、网络错误等。
    • 通过提供明确的错误代码和错误信息,API接口可以帮助开发者更好地理解问题所在,并进行相应的处理。

【3】总结起来

  • API接口是不同软件组件之间交互的规范,并定义了功能、参数、返回值、协议、安全性和错误处理等方面的内容。
  • 遵循API接口可以帮助开发者简化开发过程,提高代码重用性和系统扩展性,同时也促进了软件组件之间的协作与集成。

【2】自解

  • 为了在团队内部形成共识、防止个人习惯差异引起的混乱

    • 我们需要找到一种大家都觉得很好的接口实现规范
    • 而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。
  • 通过网络,规定了前后台信息交互规则的url链接

    • 也就是前后台信息交互的媒介
    • 它称之为API接口
  • 前端:

    • 向后端发送请求,获取数据
    • 127.0.0.1:8080/index --->返回数据
  • 后端:

    • 请求某个地址,返回固定的数据
  • 四大特点:

    • url链接:
      • 127.0.0.1:8080/index
    • 有不同的请求方式:
      • get、post、put、patch、delete
    • 请求参数
      • 127.0.0.1:8080/books?name=红楼梦
      • 放在请求体中
    • 响应结果:
      • 一般是json格式,也可能是xml

【三】接口测试工具Postman

【1】详解

Postman是一款常用的接口测试工具,它可用于发送HTTP请求并对响应进行验证。下面将详细介绍Postman的功能和使用方法。

  1. 发送请求:通过Postman,您可以轻松地发送各种类型的HTTP请求,如GET、POST、PUT、DELETE等。您可以设置请求头、请求参数、请求体等,并且支持各种数据格式,包括JSON、XML、表单数据等。

  2. 环境管理:Postman提供了环境管理功能,您可以在测试过程中切换不同的环境,如开发环境、测试环境等。这些环境变量可以在请求中使用,方便了测试不同环境下的接口。

  3. 断言验证:在接口测试中,断言非常重要。Postman具有强大的断言功能,可以对返回的响应进行验证,确保接口的正确性。您可以使用预定义的断言规则,也可以自定义断言逻辑。

  4. 集合和文件上传:Postman允许您创建集合来组织和管理接口测试用例。您可以按照不同的业务场景或模块创建多个集合,并对每个集合进行测试和调试。此外,Postman还支持文件上传,方便测试接口的文件上传功能。

  5. 接口自动化测试:除了手动测试外,Postman还支持接口的自动化测试。您可以使用Postman的测试脚本功能编写自动化脚本,对接口进行批量测试和验证。测试脚本可以使用JavaScript语言编写,并且可以进行各种复杂的逻辑判断和验证。

  6. 协作和共享:Postman提供了团队协作和接口共享的功能。您可以将测试用例、环境和请求等内容共享给其他团队成员,方便团队之间的合作和沟通。

总结来说,Postman是一款功能强大且灵活易用的接口测试工具。它具有发送请求、断言验证、环境管理、集合和文件上传、接口自动化测试等诸多功能,能够满足各种接口测试的需求。无论是初学者还是专业测试人员,都可以通过Postman来快速高效地进行接口测试工作。

【2】简解

  • 写好的接口,要测试,可以使用浏览器来做

  • 但是浏览器只能发送get请求,接口有其他请求方式

  • 专门的接口测试工具(使用习惯,大致一样)

    • postman,大部分公司用的,原来免费, 后来收费了,但是咱们只用免费部分就够了
    • postwomen
    • apifox

【3】安装

  • 下载安装包,双击运行,就安装完成

【4】使用

  • 可以注册,登录后使用
  • 也可以跳过等, 直接使用

【5】post请求的编码格式

  • urlencoded 格式

    • --> 默认格式 b'xx=xx&yy=yy'
  • form-data 格式

    • --> 传文件格式,也可以带数据
  • json格式(用的最多)

    • --> 只能传数据
  • 如果是json形式提交数据

    • --> django中想取,从request.POST取出到的

【补充】

【1】接收urlencoded格式的请求,后端打印接收到的数据:

from flask import Flask, request

app = Flask(__name__)

@app.route('/urlencoded', methods=['POST'])
def handle_urlencoded():
    data = request.form
    print(data)
    return 'Data received'

if __name__ == '__main__':
    app.run()

【2】接收form-data格式的请求,将文件保存到本地并打印数据:

import os
from flask import Flask, request

app = Flask(__name__)

@app.route('/formdata', methods=['POST'])
def handle_formdata():
    file = request.files['file']
    filename = file.filename
    save_path = '/path/to/save/directory/' + filename  # 请在此替换为保存文件的实际路径
    file.save(save_path)
    print(request.form)
    return 'File saved and data received'

if __name__ == '__main__':
    app.run()

【3】接收json格式的请求,打印接收到的数据:

from flask import Flask, request
import json

app = Flask(__name__)

@app.route('/json', methods=['POST'])
def handle_json():
    data = json.loads(request.data)
    print(data)
    return 'Data received'

if __name__ == '__main__':
    app.run()
  • 以上是使用Flask框架的示例代码。
  • 根据实际情况,你可能需要调整代码中的路径、主机和端口等参数。
  • 同时,请确保已安装所需的依赖库(如Flask)以运行这些示例。
posted @ 2023-07-31 12:16  Chimengmeng  阅读(61)  评论(0编辑  收藏  举报
/* */