18 接口自动化 接口管理模块开发(七)

本文介绍了在Django和Vue.js环境下,如何开发接口管理模块的环境管理和接口调试功能。首先,详细讲解了环境管理的主要逻辑,包括后端接口定义和前端页面交互。然后,阐述了接口调试功能的实现,包括选择环境、发送请求以及后端接口的响应处理。最后,讨论了前端结构优化,引入状态管理解决组件间的数据传递问题。
摘要由CSDN通过智能技术生成

别人写的平台再垃圾,也是用来淘汰你的。

Python环境没有的,请自行安装,本教程采用的是python 3.9。

Django官网 https://www.djangoproject.com/

Node环境没有的,请自行安装,本教程采用的是node v17.6.0。

Vue.js官网 https://cn.vuejs.org/

接着上章,本章将完成接口的调试功能。

接口管理模块开发(七)

环境管理主要逻辑

上章完成的新增功能中可以看到接口只保存了路径,没有域名端口等信息,大概的设想是将其保存在环境信息中,选择不同的环境请求不同的IP/域名、端口。

因此在完成接口调试功能前先完成「环境管理」的增删改查功能,因为没有复杂的业务处理,可以查看前面的「项目管理模块开发」系列,这里不再进行详细介绍,主要步骤如下:

  • 在后端项目中定义Model类,然后使用DRF的ModelViewSet快速定义接口,最后设置路由

  • 在前端项目中新增页面,并且新增路由指向新页面,然后在新页面上使用Table组件进行数据展示;定义增删改查接口,并在相应的按钮事件中进行调用。

接口调试功能

环境管理功能开发完成后,就可以开始进行接口调试功能开发了。主要交互如下:

  • 新增下拉框用于选择环境
  • 选择环境后,点击接口信息右侧的【Send】按钮,将环境信息和当前页面的接口信息通过接口传给后端接口
  • 后端接口中根据环境信息和接口信息进行处理后,使用requests模块访问接口
  • 将接口返回的信息进行封装,按照「完整请求」、「响应内容」、「响应头」三部分进行返回

后端接口定义

  • 首先后端自定义一个ApiSendView继承APIView,然后定义一个post方法用来提供一个post类型的接口。
  • 因为接口信息跟接口保存的参数一致,可以使用ApiSerializer进行解析。而环境信息需要单独从请求体中获取。
class ApiSendView(APIView):
    def post(self, request):
        api = ApiSerializer(request.data).instance
        env = ''
        if 'env' in request.data:
            env = request.data['env']
  • 因为要使用requests模块来发送请求,因此需要先安装requests(参考前面章节,不再赘述),安装完成后,在项目目录下新增一个utils目录存放项目用到的工具,然后在utils下新增一个request_util.py文件,专门用来处理请求,新增方法用来拼接请求参数和处理响应数据,具体代码如下。
def request_by_api(env: Env, api: Dict) -> Response:
    return request_by_domain(domain=env.domain,
                             protocol=env.protocol,
                             port=env.port,
                             path=api["path"],
                             params=api["params"],
                             body=api["body"],
                             body_type=api["body_type"],
                             headers=api["headers"],
                             method=api["method"]
                             )


def request_by_domain(
        domain: str,
        port: str,
        path: str,
        params: str,
        body: str,
        headers: str,
        protocol: str = "HT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊胡u

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值