测试开发你不得不学的 REST API 开发

2022-04-07 15:47:36 浏览数 (1)

现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势。显然API开发已经成为后端程序员的必备技能了,那作为一个测试,特别是把Django作为自己主要的自动化测试平台的测试开发,Django REST framework(DRF)这个REST API开发框架就是你不得不掌握的内容了。

前置知识点

RESTful架构:https://mp.weixin.qq.com/s/hsthbAPUJMR_aOrxC1g79Q

初识Django:https://mp.weixin.qq.com/s/EhGWefofhWtAjdd8sSMC-A

在开始动手使用Django REST framework 编写你的自动化测试平台之前,请大家先阅读以上两篇文章了解RESTful架构以及Django的基本开发流程。

环境准备

构建一个虚拟环境,并安装好相关依赖:

创建一个Django项目及APP:

编辑配置文件setting.py:

创建一个Django项目及APP:

更新数据库:

模型与序列化

在准备好环境之后,接下来针对项目信息这个接口进行开发。

首先是模型层,在apiTest/model.py 创建一个Project 类来存储项目信息:

Django REST framework框架与Django框架最核心的区别就是:序列化器,DRF提供了定义序列化器Serializer的方法,可以帮助我们简化序列化和反序列化部分的代码编写,大大提高REST API的开发速度。

序列化器的作用:

对数据进行转换 序列化(对象转为json)和反序列化(json转为对象);

进行数据的校验 判断用户发送的数据是否合法。

在apiTest/serializers.py 中添加关于Project 对象的序列化代码:

视图

DFR 提供了 请求对象(Request objects)响应对象(Response objects)来提供更加灵活的请求解析和使用内容协商来确定返回给客户端的正确内容类型。

DFR还提供了两个可用于编写API视图的包装器(wrappers):

用于基于函数视图的@api_view装饰器;

用于基于类视图的APIView类。

接下来,我们将使用APIView 类进行视图开发。

在apiTest/project.py中添加以下代码:

显示-URLs

为了客户端能够访问开发完成的接口(即url与视图的映射),在apiTest/urls中添加如下代码:

如此就可以通过 http://127.0.0.1/project/ 以及http://127.0.0.1/project/id/ 访问到Project 对象的增删查改等操作页面啦。

后记

DRF 也提供了认证与权限、超链接API等等功能,大家可以通过查看官方文档继续学习~

官网地址:https://www.django-rest-framework.org/

0 人点赞