主要用于post接口测试,测试reset风格的接口。
一、创建一个Base类
创建RestTemplate和HttpHeaders
1 package com.tongtech; 2 3 import org.springframework.http.HttpHeaders; 4 import org.springframework.web.client.RestTemplate; 5 6 public class BaseTest { 7 protected static RestTemplate getRestTemplate() { 8 return new RestTemplate(); 9 } 10 11 protected static HttpHeaders createHeaders() { 12 return new HttpHeaders(); 13 } 14 15 protected String getWebRoot(){ 16 return "168.1.37.36:8080/cloud"; 17 } 18 }
二、RestTemplate测试类继承base类
最后执行方法:postForObject(url,params,String.class)会返回方法的返回值。一般都是json格式的返回值
参数:url 要访问的接口方法路径。
params 方法所需要的参数。
String.class 方法的返回类型。
1 package com.tongtech; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 import org.junit.Test; 7 import org.springframework.http.HttpHeaders; 8 import org.springframework.http.MediaType; 9 import org.springframework.web.client.RestTemplate; 10 11 public class RestTestDemo extends BaseTest{ 12 13 @Test 14 public void testNodeToPlat() { 15 String url = "http://168.1.37.36:8080/cloud/wbService/largeScreen/nodeMonitor/nodeToPlat"; 16 RestTemplate restTemplate = getRestTemplate(); 17 HttpHeaders headers = createHeaders(); 18 headers.setContentType(MediaType.APPLICATION_JSON); 19 headers.setAccept(MediaType.parseMediaTypes(MediaType.APPLICATION_JSON_VALUE)); 20 Map<String, Object> params = new HashMap<String, Object>(); 21 params.put("level", 213); 22 params.put("platId", "10_16_100"); 23 System.out.println(restTemplate.postForObject(url, params, String.class)); 24 } 25 26 }
三、测试的接口
需要注意的是,接口方法的接收参数使用map来接收。需要使用@RequsetBody注解,返回值也是@ResponseBody的json字符串
Test
四、get方式接口测试
测试类接口:用法和post一样,只是路径上的变化,和调用的方法不同
被测试的GET方法,接收参数不需要@RequestBody注解
1 @Test 2 public void testNodeExchange() { 3 String url = "http://localhost:8080/cloud/wbService/largeScreen/nodeMonitor/list?curPageNum={curPageNum}&completeStatus={completeStatus}"; 4 RestTemplate restTemplate = getRestTemplate(); 5 HttpHeaders headers = createHeaders(); 6 headers.setContentType(MediaType.TEXT_PLAIN); 7 headers.setAccept(MediaType.parseMediaTypes(MediaType.APPLICATION_JSON_VALUE)); 8 Map<String, Object> params = new HashMap<String, Object>(); 9 params.put("curPageNum", 10); 10 params.put("completeStatus", "1"); 11 System.out.println(restTemplate.getForObject(url, String.class, params)); 12 }