python django简单demo 搭建最简单的python服务,提供测试支持 接口mock

    最近需要对访问第三方服务的接口做一些mock,我们访问第三方的接口是在配置文件进行配置的,很方便替换,所以直接就打算起一个简单的django服务

    请路过大佬不经意的提点!谢谢

    思路:

        1. 找一个开源的django框架(直接其它的都不需研究了,因为测试比较少搞这些。另外其实可以找最简单的demo,我只是顺手)

        2. 添加接口,并做处理

        3. 接口参数写入数据库中, 可方便定义返回内容

(注:我使用的是开源项目automagic 作者ray)

(注意这边演示的前提就是找了一个对应的基本可用的demo项目哦,之后只需要做少量编辑)

添加接口的过程:

1. 找到需要启动的manage.py文件,找到配置文件路径

2.找到主url的路径

3.找到想要添加接口的子节点

4. 在对应的urls.py文件中,添加你需要的接口 

5.接下来,来定义这个接口的返回,在对应的views.py文件中,定义处理该接口的方法咯

6. 最后附上本次要mock的接口公共方法(“项目的源码”请添加wei v:ct-xiaozhou,行业变迁,愿多个可能性)

说明:没有使用django的数据处理方式,直接使用mysql处理方法了

def commonDeel_99shou(request, apiname):
    mysqla = TestMysqlDB()
    apiinfo = mysqla.getOneData(f"SELECT returnStatus FROM test_work.mock_api_info where apiname='{apiname}'")
    apireturnMsg = mysqla.getOneData(
        f"SELECT returnMsg FROM test_work.mock_api_return where apiname='{apiname}' and apiStatus='{apiinfo[0]}'")
    mysqla.close()
    tempstr = apireturnMsg[0]
    tempstr = reStrCommonDeel(tempstr)
    print(type(tempstr))
    if request.method == 'POST':
        # result = {"result": 0, "msg": "执行成功"}
        # return HttpResponse(json.dumps(result))
        try:
            json.loads(tempstr)
        except Exception as e:
            return JsonResponse({"result": -2, "msg": "参数格式错误,检查是否json格式"})
        return HttpResponse(tempstr)
    else:
        return JsonResponse({"result": -1, "msg": "请求方式不对"})

 附上mysql处理(数据表是自己搭建的数据库,使用工具界面添加的,非常简单。。。(有sql啊,但是本人懒啊。。)):

class TestMysqlDB:
    test_host = '10.255.00.00'
    test_port = 3306
    test_user = 'root'
    test_password = '123456'
    test_db = 'test_work'

    def __init__(self, db=None):
        self.conn = pymysql.connect(host=self.test_host,
                                    port=self.test_port,
                                    user=self.test_user,
                                    password=self.test_password,
                                    db=self.test_db,
                                    charset='utf8'
                                    )
        # 使用cursor()方法获取操作游标
        self.cursor = self.conn.cursor()

    def getOneData(self, sqlstr):
        # 返回一条数据
        self.cursor.execute(sqlstr)
        return self.cursor.fetchone()

    def close(self):
        self.cursor.close()
        self.conn.close()

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值