灵活又简单的mock服务
gitee地址: https://gitee.com/guojongg/http-faker
httpfaker基于faker和flask库,提供强大的逻辑处理能力;通过对配置文件(yaml/json)的描述,可返回想要的任意数据。
支持反向代理模式,只需要设置一个目标服务器地址,即可变成一个反向代理服务器;当匹配到mock规则时返回mock数据;未命中时做代理请求并返回请求结果。
httpfaker针对返回数据的规则编写灵活,简单。除了可以满足传统的接口mock外,还支持处理业务逻辑,可实现真正的业务功能。
适用于:
# 安装
pip install httpfaker
# 简单使用
httpfaker init
cd httpfaker-project
httpfaker --proxy http://example.com # 指定代理地址时,将作为代理服务器对未命中的请求自动转发到指定的服务器中
上面例子中使用httpfaker init
预生成了一个 example.yml 文件,yaml文件中描述了一个登录的场景:
前端通过post
方法调用/api/login
这个地址,并在请求body中传来了username
和password
两个参数。
httpfaker
接收到请求后会按照logic中描述的逻辑进行业务处理:先打印了请求参数,再调用verify_accont
方法,
来验证用户名和密码是否匹配;然后调用gen_token
方法,生成token
。
(verify_account和gen_token方法已经注册到httpfaker调用函数中了,注册方法见自定义方法的注册)
在逻辑处理完成后,httpfaker按照response
中描述的内容进行字段返回,headers
中引用了在env
中定义的
content_type
; body
中的code、msg、data
等字段直接引用logic中已经生成的结果。
在上述流程中完成了用户登录到返回数据的一个完整流程,包含了业务处理部分,使mock服务不仅仅只是mock,还可以包括真实的业务逻辑。
Sign in for post a comment
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.
Comments ( 0 )