zoukankan      html  css  js  c++  java
  • RestTemplate接口测试工具学习

    主要用于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     }
    复制代码
  • 相关阅读:
    IDEA配置GIT
    夜游神安卓模拟器安装
    jira中使用eazyBI
    [Google Guava]学习--新集合类型Multimap
    [Google Guava]学习--新集合类型Multiset
    Java自己实现双向链表LinkList
    JVM学习之jstat使用方法
    Mycat+Mysql 插入数据报错 i[Err] 1064
    Windows配置mycat
    navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法
  • 原文地址:https://www.cnblogs.com/zgq123456/p/12614560.html
Copyright © 2011-2022 走看看