【web】Spring RestTemplate提交時設定http header請求頭
在web開發時程式遇到需要編寫一些小的測試用例用於測試api介面是否可用,此時使用Spring框架的開發者大多會想到使用RestTemplate。本文實現一個使用RestTemplate發起GET請求,同事設定GET請求的http頭的示例。
1、建立測試類的基類
建立一個測試類的基類BaseTester,用於匯入測試類的配置檔案,本例中配置檔案使用的時java註解的config類。基類程式碼如下:
package api.landsem.tester.ram;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { EmptyConfiguration.class })
public class BaseTester {
}
2、建立配置類
上面建立的測試基類中匯入了一個名為EmptyConfiguration的配置類,該配置類的程式碼如下:
package api.landsem.tester.ram;
import org.springframework.context.annotation.Configuration;
@Configuration
public class EmptyConfiguration {
}
3、建立測試程式碼
如下為一個簡單的測試程式碼,該程式碼實現從一個指定的api介面請求資料,在請求時設定http請求的頭資訊,原始碼如下:
package api.landsem.tester.ram.api;
import java.util.Date;
import org.apache.log4j.Logger;
import org.junit.Test;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import api.landsem.ram.factory.SignatureHelper;
import api.landsem.tester.ram.BaseTester;
import api.landsem.utils.LocalDateUtils;
import api.landsem.utils.TokenUtils;
public class CertificateCheckApiTester extends BaseTester{
private final static Logger logger = Logger.getLogger(CertificateCheckApiTester.class);
private final static String testKey = "LSadsfdslfm";
private final static String testSecret = "LSerkfdksvdsf";
private final static int intent = 101;
private final static String code = "2asfd5f69699532325686";
private final static String number = "665533255555";
private final static String salt = "10";
@Test
public void test() {
logger.info("call test.");
final String url = "http://192.168.1.245:8082/ram/ram/v1/certificates";
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.add("key", testKey);
requestHeaders.add("intent", String.valueOf(intent));
requestHeaders.add("number", number);
requestHeaders.add("code", code);
RestTemplate template = new RestTemplate();
HttpEntity<String> requestEntity = new HttpEntity<String>(null, requestHeaders);
ResponseEntity<String> response = template.exchange(url, HttpMethod.GET, requestEntity, String.class);
String sttr = response.getBody();
logger.info("sttr="+sttr);
}
}
相關文章
- 【web】Spring RestTemplate提交時設定POST請求引數WebSpringREST
- http請求頭HTTP
- ruby進行http請求頭設定及獲取HTTP
- Jmeter —— jmeter設定HTTP資訊頭管理器模擬請求頭JMeterHTTP
- ajax中設定請求頭和自定義請求頭
- SAP UI5 OData 請求的自定義 HTTP header 設定方法UIHTTPHeader
- JAVA設定http請求代理JavaHTTP
- angular學習筆記(二十四)-$http(2)-設定http請求頭Angular筆記HTTP
- http設定headerHTTPHeader
- HTTP請求頭與響應頭HTTP
- Http 請求 header 大小寫有區別嗎?HTTPHeader
- http header中cache設定HTTPHeader
- HTTP請求頭和響應頭詳解HTTP
- HTTP常用請求頭大揭祕HTTP
- 在LoadRunner中設定HTTP請求time-out的時間HTTP
- AFNetworking的請求頭設定(token)
- http請求時nginx會去掉帶有下劃線(_)的Header鍵值HTTPNginxHeader
- http請求頭與響應頭的應用HTTP
- angular學習筆記(二十六)-$http(4)-設定請求超時Angular筆記HTTP
- http請求頭個欄位解釋HTTP
- HTTP請求頭中的refer欄位HTTP
- HTTP 請求頭中的 X-Forwarded-ForHTTPForward
- 如何用PHP取得所有HTTP請求頭PHPHTTP
- Go Web 程式設計--深入學習解析 HTTP 請求GoWeb程式設計HTTP
- HTTP請求預設值HTTP
- 使用Python請求http/https時設定失敗重試次數PythonHTTP
- plsql提交請求SQL
- MDN新增“HTTP有條件請求”標頭HTTP
- Http 請求頭中的 Proxy-ConnectionHTTP
- Python中get、post請求詳解(HTTP請求頭、狀態碼)PythonHTTP
- Springboot -- 用更優雅的方式發HTTP請求(RestTemplate詳解)Spring BootHTTPREST
- axios請求超時,設定重新請求的完美解決方法iOS
- http請求HTTP
- HTTP 請求HTTP
- HTTP請求頭的Content-Type欄位HTTP
- http協議學習-請求頭Request HeadersHTTP協議Header
- 使用Python獲取HTTP請求頭資料PythonHTTP
- CTFHub web前置技能HTTP協議請求方式WebHTTP協議