mock挡板_MOCK挡板的一些思考总结

最近,接手了一份新活,为方便下游同学的使用,需要给他们做挡板。mock假数据,完成常规版本正常逻辑的验证;

于是,想法是这样的:

首先做一个挡板服务,监听下游请求,如若遇到约定的参数值,则直接走挡板服务。返回存储在服务器上的数据文件即可,否则走正常的服务请求逻辑。

想法有了,且之前有做过类似的流量复制的工程,于是,想着直接套用原有工程代码即可。

开干;

首先,建立了一个maven工程,将需要的代码copy过来,直接改改,然后就开始打包并部署服务器了。问题来了

1.如何使用maven打jar包,出现打包后,无法直接运行

原因有2:

1. maven依赖的jar未打入

2.lib下本地依赖的jar未打入

针对以上两种,首先将lib下的jar安装的本地的maven仓库

命令如下:mvninstall:install-file -Dfile=xx.jar     -DgroupId=org.wltea.ik-analyzer    -DartifactId=ik-analyzer         -Dversion=3.2.8 -Dpackaging=jar

然后在pom文件中加入

da004b74ab9b

第二步,在pom文件中加入如下内容:

da004b74ab9b

以上即可完成打包工作。

第二个问题,发现请求无效,无论怎么做,均返回405.

发现原因在于未重写post以及get方法。按照父类传参重写后正常。

第三个问题,如何获取到返回结果

需要将response添加一些结果,如下:

response.setHeader("Content-Type","application/octet-stream");

//设置返回的状态码

response.setStatus(HttpServletResponse.SC_OK);

response.setHeader("Content-Length",String.valueOf(res.length));

response.getOutputStream().write(res);

然后即可获取结果了。

遇到最后一个问题,也是最傻的一个问题

我想着服务启动了,端口生效了,但是为什么我get不到请求呢

想了好久,终于明白了。我这是一个代理服务器,需要配置nginx才行。

比如监听80端口下的请求,只有我请求80端口时,且满足我的判断条件,才走我的逻辑。配置完成nginx后,验证,圆满解决

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值