爲 方便前端在後端服務未構建成功時,使用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,進行測試,控制檯如下顯示:

⑤在瀏覽器輸入訪問地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章