温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么使用flask轻松搭建mock服务

发布时间:2021-10-21 09:38:12 来源:亿速云 阅读:174 作者:iii 栏目:web开发

本篇内容主要讲解“怎么使用flask轻松搭建mock服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用flask轻松搭建mock服务”吧!

做过接口测试的同学一定听说过mock Server,大家会觉得其很神秘,很高大上!mock  Server出现的原因是现今的业务系统很少有孤立存在的,它们或多或少需要使用兄弟团队或是其他公司提供的服务,这给我们的联调和测试造成了麻烦。于是就有了解决方案——搭建一个临时的server,模拟那些服务,提供数据进行联调和测试。下图很好的解释了什么是Mock  server

怎么使用flask轻松搭建mock服务

Flask

Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。

怎么使用flask轻松搭建mock服务

Falsk的安装

pip install flask

Flask构建一个web服务简直太快了,7行代码就可以搞定,helloword代码如下:

from flask import Flask  app = Flask(__name__)  @app.route('/')  def index():       return 'Hello World'  if __name__ == '__main__':      app.run()

然后在ide中运行这个py文件,显示如下:

怎么使用flask轻松搭建mock服务

在浏览器中输入http://127.0.0.1:5000/ 可以看到浏览器中显示Hello World

代码分析如下:

@app.route('/')说明了你要访问的url,'/'代表根目录;

return 'Hello World'代表在浏览器中显示Hello World,即请求http://127.0.0.1:5000/ 的返回值;

app.run()表示启动mock 服务。

如果我们需要构建带参数的get方法可以使用如下代码:

@app.route('/check/<version>')  def check_version(version=None):     if version=='1':         return 'version=1.0'      elif version=='2':         return 'version=2.0'      else:         return 'bad version'

这里相当于是在url中输入的参数

在浏览器输入127.0.0.1:5000/check/2 会输出version=2.0

在浏览器输入127.0.0.1:5000/check/1会输出version=1.0

在浏览器输入127.0.0.1:5000/check/111会输出bad version,

这个实例很容易模拟了我们需要的get方法的请求,判断具体方法,然后返回相应的值。

如果我们需要创建post方法可以使用如下代码:

from flask import Flask,request  @app.route('/login',methods=['POST'])  def login():      if request.method == 'POST':          val=str(request.data, encoding = "utf8")          print (val)          if val.find('admin')==-1:              return ' status 400,No such user! '          else:               return 'status 200,admin login'       else:             return ' status 403,login need post method'

通过RESTclient(Firefox插件)构建请求如下:

怎么使用flask轻松搭建mock服务

输出admin login

代码解析如下:

methods=['POST'] 限定了可以使用的http方法,只能使POST;

request.method 获取request的方法;

request.data获取request中data的值;

str(request.data, encoding = "utf8") 把request.data的值从bytes类型转换到str类型。

好了,通过上面的实例我们就可以很轻松的模拟POST或者GET方法来构建Mock Server了!

Flask和Django的选择

Django也是python web开发的主流框架,他与flask相比区别如下:

Flask提供了灵活性,简单性和细粒度的控制。

Flask不受限制,让你决定如何实现应用程序。

Django为我们的Web应用程序开发提供了管理面板,数据库界面,目录结构和ORM的全方位体验。

如果我们只需要开发一个轻量级网站或者特定的微服务(比如mock  server),我们根本用不上Django自带的大而全的组件和功能,这时我们应该毫不犹豫地选择Flask;如果我们要开发包含各种功能的传统企业级网站(比如电商,新闻内容管理,社交网站,办公OA),使用Django能帮我们节省不少寻找或开发第三方扩展的精力。

到此,相信大家对“怎么使用flask轻松搭建mock服务”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI