博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用WireMock 伪造 Rest 服务
阅读量:6854 次
发布时间:2019-06-26

本文共 1783 字,大约阅读时间需要 5 分钟。

WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。

当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。

官方文档:

1. 搭建wireMock单机服务

1.1 下载jar包

服务jar包下载:

1.2 启动jar

java -jar wiremock-standalone-2.14.0.jar --port 9000

我在这里用9000端口启动

img_aa6e0701c566af648033942e802899bc.png

好了,看到上面的图案说明服务就搭建好了。

2. 向服务里注册Rest服务

2.1 导入依赖
com.github.tomakehurst
wiremock
2.2 写一个简单的模拟Rest
/** * Created by Fant.J. */public class MockServer {    public static void main(String[] args) {        //通过端口连接服务        WireMock.configureFor(9000);        //清空之前的配置        WireMock.removeAllMappings();        //get请求        WireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo("/user/1"))                .willReturn(WireMock.aResponse()                 //body里面写 json                .withBody("{\"username\":FantJ}")                 //返回状态码                .withStatus(200)));    }}

运行这个main方法。

img_f1cad05b5d94865f795bc7e759d152e5.png
然后访问
img_44cb45af406150d2a796e1c12d39e7bb.png

企业级开发封装

/** * Created by Fant.J. */public class MockServer {    public static void main(String[] args) throws IOException {        //通过端口连接服务        WireMock.configureFor(9000);        //清空之前的配置        WireMock.removeAllMappings();        //调用 封装方法        mock("/user/2","user");    }    private static void mock(String url, String filename) throws IOException {        ClassPathResource resource = new ClassPathResource("/wiremock/"+filename+".txt");        String content = FileUtil.readAsString(resource.getFile());        //get请求        WireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo(url))                .willReturn(WireMock.aResponse()                        //body里面写 json                        .withBody(content)                        //返回状态码                        .withStatus(200)));    }}

其中,user.txt文件在这里

img_d560429bd942f6aec6efd5cb13319c95.png

文本内容:

img_b747c12e35928d40e7a962667ddbe46d.png

然后我们运行程序,访问

img_cd1f51bffe098f18d75a908aed6a90bd.png

介绍下我的所有文集:

流行框架

底层实现原理:

转载地址:http://pffyl.baihongyu.com/

你可能感兴趣的文章
hadoop1.x作业提交过程分析(源码分析第二篇)
查看>>
默认安装vsftpd后
查看>>
《Redis设计与实现》读书笔记
查看>>
waiting for changelog lock.
查看>>
小白学爬虫-批量部署Splash负载集群
查看>>
你离BAT之间,只差这一套Java面试题
查看>>
laravel package 推荐,数据备份
查看>>
Synchronized锁在Spring事务管理下,为啥还线程不安全?
查看>>
环境变量PATH cp命令 mv命令 文档查看cat/more/less/head/tail
查看>>
阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型...
查看>>
dubbo源码分析-服务端发布流程-笔记
查看>>
阿里云发布Apsara SA系列混合云存储阵列
查看>>
GoJS教程:链接模版
查看>>
QListWidget方式显示缩略图
查看>>
金三银四:蚂蚁金服JAVA后端面试题及答案之二面
查看>>
Ubuntu 外网不通解决方案
查看>>
OSChina 周六乱弹 —— 历史总是惊人的相似
查看>>
MySQL 大小写
查看>>
Lync 2013部署图片赏析-证书服务安装配置
查看>>
HTML5 本地缓存 (web存储)
查看>>