为 方便前端在后端服务未构建成功时,使用WireMock 伪造 Rest 服务

1.下载wiremock的jar包,搭建服务

①百度搜索wiremock,进人官网

②进入官网后,选择docs

③选择  Running as a standalone ,然后下载jar

④启动服务,打开cmd进入jar文件所在目录 使用命令启动

##  java -jar wiremock-standalone-2.24.1.jar --port 8090

成功后如图:

2.在项目中配置该服务

①在pom.xml中引入wiremock的依赖

        <dependency>
            <groupId>com.github.tomakehurst</groupId>
            <artifactId>wiremock</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
        </dependency>

②创建MockServer类,用来伪造请求以及相应

public class MockServer {
	
	public static void main(String[] args) throws IOException {
		// 配置连接信息
		configureFor("127.0.0.1",8090);
		// 清空发布信息
		removeAllMappings();
		//请求获取用户信息
		mock("/user/1", "user");

	}

	/**
	 * @Description: 封装一个公用方法
	 * @Param: url 请求路径  file 文件名称
	 * @Return:
	 * @Auther: liumiao
	 * @Date: 2019/8/24 20:45
	 */
	private static void mock(String url, String file) throws IOException {
		ClassPathResource resource = new ClassPathResource("mock/" + file + ".txt");
		//获取配置文件中的数据,将其转为String
		String content = StringUtils.join(FileUtils.readLines(resource.getFile(), "UTF-8").toArray(), "\n");
		// 发布新信息  将数据返回给前端
		stubFor(get  //设置请求方式,根据所模拟的不同请求,使用不同的请求方式
				(urlPathEqualTo(url))  //设置请求的路径
				.willReturn(aResponse()  // 设置相应信息
						.withBody(content)  //设置相应的内容
						.withStatus(200)));  //设置相应的状态码
	}

③添加user.txt文本

    在resources的目录下创建一个mock文件夹,在该文件下创建一个user.txt用来模拟请求成功后返回用户的信息,user.txt的内容如下:

{
    "name": "张三",
    "age": 88,
    "address": "阿拉伯"
}

④启动MockServer,进行测试,控制台如下显示:

⑤在浏览器输入访问地址

 

注意:在启动wiremock时如果报错 :java.lang.NoClassDefFoundError: org/apache/http/HttpEntity

请在pom.xml中添加httpClient的maven依赖

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
</dependency>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值