使用flask进行Mock Server模拟接口操作及问题解决

1.flask介绍

flask是一个轻量级的python web 微框架

2.Mock Server介绍

Mock Server是一个开源的模拟服务器,它可以定义和记录API交互,支持各种http方法(get、post、put、delete),可以自定义响应内容,例如返回静态文件
可以使用flask来搭建一个mock模拟服务

3.模拟接口

先安装flask
pip install flask
导入该模块:
from flask import Flask,request

1.编写flask模拟接口,写一个模拟接口的py文件:

先创建一个flask对象,__name__是一个魔术方法,用来表示当前的这个py文件(也叫模块)
app = Flask(__name__)

2.模拟一个访问网页首页的接口:

if __name__ == '__main__':
app.run(debug=True)
使用main方法来启动服务,启动服务后,会显示网页的ip地址和端口号

在上面实例中,使用@app.route('/')装饰器定义了一个根路由/(/index),当用户访问根路由时,会调用index()函数并返回字符串"这是网页的首页"

然后使用ip地址和端口号访问网页,加上代码中规定的路径就可以访问首页了,代码里面规定了两种方式(/或者"/index")都可以访问首页

3.模拟一个登录接口:

简单代码演示:

当我们使用ip地址+端口号进行访问时,提示在服务器上找不到url

解决:404:The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.问题

然后我尝试将默认的端口5000改成8899,在main函数参数上新增一个post=8899,再次访问就可以解决现这个找不到url的问题,同时报错:405 方法不被允许

解决:405 Method Not Allowed问题

出现405 方法不被允许,在网页上访问不了,F12打开控制台,发现我接口里面定义的是post方法,页面的login接口是get方法
但是使用postman发送请求是成功的,说明可能在服务器上,post方法不被允许,我们需要使用客户端来发送post方法

为了解决这个问题,我们可以通过重新编写一个登录脚本的方式来尝试解决

然后再次启动mock server服务,并且运行当前脚本,问题就解决啦,成功返回接口定义的“登录页面”信息

posted @ 2024-09-06 17:05  cherish-github123  阅读(25)  评论(0编辑  收藏  举报