前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一分钟mock一个接口

一分钟mock一个接口

作者头像
runzhliu
发布2021-06-21 20:16:59
5110
发布2021-06-21 20:16:59
举报
文章被收录于专栏:容器计算容器计算

大家如果遇到过本地调试需要请求生产环境的接口,一般会怎么做呢,是把测试搬到生产环境做还是直接不去请求这个接口呢?

为了尽可能在本地跑起生产环境的服务,并且尽量不改代码,某些场景下,可能 mock 一下线上的接口,可能会更方便。当然前提是这些接口是不得不请求,但是又对实际结果用处不大的那种类型的接口了。

本文介绍一个很简单的 mock 接口的方法,mock 完写个 Dockerfile 就可以发布到本地或者发布到 TKE/TKEx 了。

代码语言:javascript
复制
➜  tmp cat server.sh
#!/usr/bin/env bash
JSON={\"version\":\"4.0\",\"timestamp\":\"1623816698591\",\"eventId\":\"38494\",\"componentName\":\"SWOOLE_WTAG\",\"returnValue\":0,\"returnCode\":0,\"codeDesc\":\"success\",\"returnMessage\":\"ok\",\"interface\":\"qcloud.tag.addResourceProjectTag\",\"data\":[]}
RESPONSE="HTTP/1.1 200 OK\r\nConnection: keep-alive\r\n\r\n${2:-$JSON}\r\n"
while { echo -en "$RESPONSE"; } | nc -l "${1:-8081}"; do
  echo "================================================"
done

JSON 恒返回相同的值,这里是有点不那么聪明,不过对于意义不大的线上接口,如果不想改代码,这个 mock 是相对比较好的方案了。

顺便提供一下 Dockerfile。

代码语言:javascript
复制
FROM centos:7

RUN yum install nc -y
ADD . .

ENTRYPOINT ["bash", "tag_server.sh"]

效果图如下,就是这么简单粗暴。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-06-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档