【web】Spring RestTemplate提交時設定POST請求引數
在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請求,並設定post請求的引數,程式碼如下:
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.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
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 CertificateRegistApiTester extends BaseTester{
private final static Logger logger = Logger.getLogger(CertificateRegistApiTester.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";
RestTemplate template = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
map.add("key", testKey);
map.add("intent", String.valueOf(intent));
map.add("number", number);
map.add("code", code);
map.add("signature", signature);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map,null);
ResponseEntity<String> response = template.postForEntity( url, request , String.class );
logger.info("response="+response.getBody());
}
}
相關文章
- 【web】Spring RestTemplate提交時設定http header請求頭WebSpringRESTHTTPHeader
- ajax中POST請求與引數(請求體)設定
- Retrofit統一新增post請求的預設引數
- Spring MVC 接收POST表單請求,獲取引數總結SpringMVC
- Spring MVC的Post請求引數中文亂碼的原因&處理SpringMVC
- GOLANG Web請求引數驗證GolangWeb
- Retrofit 動態引數(非固定引數、非必須引數)(Get、Post請求)
- 精講RestTemplate第4篇-POST請求方法使用詳解REST
- iOS 使用form表單形式提交post請求iOSORM
- springmvc引數設定預設值,多地址請求SpringMVC
- $.post 和 $.get 設定同步和非同步請求非同步
- C# 之HTTP請求get,post帶重試引數C#HTTP
- 安卓基礎-get post請求與提交資料安卓
- POST 請求的三種常見資料提交格式
- postman 請求引數和 Spring Boot Controller 接受引數PostmanSpring BootController
- 有趣的請求引數/請求頭
- SpringMVC學習(三)對映請求引數&請求引數SpringMVC
- jmeter 如何在請求之前修改 post body 裡面的引數的值JMeter
- java post 請求Java
- iOS 同步請求 非同步請求 GET請求 POST請求iOS非同步
- 封裝axios請求並對提交引數進行校驗封裝iOS
- GET請求引數為中文時亂碼分析
- plsql提交請求SQL
- 如何使POST請求具有冪等性防止重複提交 - mscharhag
- 使用axios post 請求資料無法提交的問題iOS
- Php通過curl提交post內容為Json的請求PHPJSON
- Flink提交Job的方式以及引數設定
- jQueryAjax:$.post請求示例jQuery
- axios請求超時,設定重新請求的完美解決方法iOS
- 請求引數的傳遞
- SpringMVC請求引數解析SpringMVC
- Spring Tomcat Post Get 請求引數有中文時出現亂碼或+號變空格等關於編碼的問題SpringTomcat
- 如何高效定義和驗證restful請求的引數REST
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- (七)Spring Boot Controller的請求引數獲取Spring BootController
- Postman傳送請求引數是Map格式的請求Postman
- WebApi 中請求的 JSON 資料欄位作為 POST 引數傳入WebAPIJSON
- Postman傳送Post請求Postman