場景:
1:開發人員自行測試接口;(postman可行)
2:可重複進行測試;(postman可行)
3:參數靈活可調;(postman不可行)
4:基礎數據可配;(postman不可行)
思路:類似於Mock模擬請求
既然1可以用postman進行,ok!保證接口能調通先。
step1:
step2:
將模擬請求代碼化(postman支持代碼生成,入口見上圖,生成代碼如下圖)猿Why Java開發,所以選擇了Java
step3:
在自己的項目中添加OkHttpClient的相關依賴:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.11.0</version>
</dependency>
代碼demo
package com.young.simpleweb.controller;
import com.young.common.entity.User;
import okhttp3.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
/**
* OkHttpClient
* Http模擬請求測試
*/
public class OkHttpClientTest {
String AuthorizationInfo;
User userInfo;
@Before
public void setUp() {
AuthorizationInfo="key_AuthorizationInfo";
userInfo = new User();
userInfo.setSex("male");
userInfo.setName("young");
}
@After
public void clearUp() {
// todo
// 釋放資源等操作
}
/**
* 表單形式參數
*
* @throws IOException
*/
@Test
public void formTest() throws IOException {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("AuthorizationInfo", AuthorizationInfo)
.addFormDataPart("user", userInfo.toString())
.build();
Request request = new Request.Builder()
.url("http://127.0.0.1:9531/simpleWeb/simplePost")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
System.out.print(response.body().string());
}
}