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

现在前后端分离的架构设计越来越流行,业界甚至出现了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/

微信号 : TestOps

知乎:@TestOps云层

(0)

相关推荐

  • JWT-配置与使用

    JWT-配置与使用

  • Django REST Framework教程(7): 如何使用JWT认证(神文多图)

    在前面的DRF系列文章中,我们介绍了DRF认证(authentication)的本质, 以及自带的几种认证方案,包括TokenAuthentication方案.然而JSON Web Token(JWT ...

  • 07 渲染模块

    渲染模块 源码入口 渲染模块 第四步: 对返回结果进行再次加工, self.response = self.finalize_response(request, response, *args, ** ...

  • 接口的单元测试

    作者:HelloGitHub-追梦人物 一个完整的项目,无论是个人的还是公司的,自动化的单元测试是必不可少,否则以后任何的功能改动将成为你的灾难. 假设你正在维护公司的一个项目,这个项目已经开发了几十 ...

  • python测试开发django-62.基于类的视图(APIView和View)

    前言 django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用. REST框架提供了一个APIView类,它是Django View类的子类. ...

  • python测试开发django-rest-framework-95.文件上传接口开发

    前言 django-rest-framework 开发文件上传接口 新建模型 models.py 创建模型 from django.db import models # 作者-上海悠悠 QQ交流群:7 ...

  • python测试开发django-63.基于函数的视图(@api_view())

    前言 上一篇讲了基于类的视图,在REST framework中,你也可以使用常规的基于函数的视图.它提供了一组简单的装饰器,用来包装你的视图函数, 以确保视图函数会收到Request(而不是Djang ...

  • 03 认识Django REST framework

    DRF简介 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的. 在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增.删. ...

  • ModelViewSet+ModelSerializer使用

    ModelViewSet+ModelSerializer使用

  • Django-rest framework框架

    第一章:接口规范 01 Web应用模式 02 Restful接口规范 第二章:请求渲染解析异常响应组件 01 认识Django REST framework 02 DRF环境安装与搭建 03 DRF请 ...

  • python测试开发django-65.序列化(ModelSerializer)

    前言 serializers.Serializer可以对modle模型中的字段序列化,并且必须写create和update两个方法.ModelSerializer可以看成是Serializer的一个升 ...

  • python测试开发django-64.序列化(Serializer)

    前言 REST framework中的serializers与Django的Form和ModelForm类非常像.我们提供了一个Serializer类,它为你提供了强大的通用方法来控制响应的输出, 以 ...

  • DjangoRestFramework使用

    目录: 1.1 DjangoRestFramework基本使用 1.2 drf认证&权限 模块 1.3 djangorestframework 序列化 1.4 djangorestframew ...

  • python测试开发django-rest-framework-85.序列化(ModelSerializer)

    前言 在使用 django-rest-framework 开发接口的时候,我们希望能设置有些字段是必填字段,有些字段是非必填字段. 在使用ModelSerializer 序列化的时候,可以个字段加一个 ...

  • python测试开发django-59.restful接口开发

    前言 REST 不是什么具体的软件或者代码,而是一种思想.现在流行前后端分离开发项目,一般用 json 来交换数据. 相信写过模板的同学都知道,只要哪怕页面中的数据有一丝丝变动,那整个页面都需要重新渲 ...