使用FireFox插件RESTClient、HttpRequester模拟http(get post)请求

我们写好一个接口后,需要进行测试。有时我们会写一个html表单提交,无疑增加了工作量,尤其是当参数比较多或者传json或xml数据时,效率更是大大降低。我们可以使用基于FireFox的RESTClient或HttpRequester插件来进行测试。

打开火狐浏览器,在右上角的菜单中有附加组件,进入其中,直接搜索这两个插件,安装后重启即可,安装完后在浏览器右上方生成了插

件的图标。

1 RESTClient

发送get请求时参数在url中;当发送post请求传参时需要设置头信息,点击上图中的Headers-Custom Header进行设置

2 HttpRequester

RestClient

1.传输单个参数

content-type:application/json;charset=UTF-8

requestbody

{
"username":"qqq"
}

Controller

        @RequestMapping(value = "/restClinet")
        @ResponseBody
        public String restClinet(@RequestBody String username) {

            logger.info("TestRestClient" + username  );
            // save trade
            
            return username;
        }

2.传输多个参数(对象)

{
"tradeId":"66",
"tradeServer":"一梦十年",
"tradeCurrency":"4500",
"tradeMoney":"100",
"tradeTime":"2018年10月10日 12:24:16",
"tradeComment":"333"
}
@RequestMapping(value = "/restClinet")
        @ResponseBody
        public Trade restClinet(@RequestBody Trade trade) {

            logger.info("TestRestClient"  + trade);
            // save trade
            
            return trade;
        }

复合型json格式

{
"stuId":"66",
"stuName":"小红",
"stuSex":"girl",
"book":{
          "bookName":"math",
          "bookOwner":"Jim"
         }

}

 

 

ErrorCode

package com.my.base;

public enum Error{    
    
    S001("S001","Success"),
    E001("E001","System error!"),
    E002("E002","Sorroy,user cannot find in database!"),
    E003("E003","Unknow error!");
    
    private String errorCode;
    private String errorMessage;
    public String getErrorCode() {
        return errorCode;
    }
    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }
    public String getErrorMessage() {
        return errorMessage;
    }
    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
    private Error(String errorCode, String errorMessage) {
        this.errorCode = errorCode;
        this.errorMessage = errorMessage;
    }  
    
    
}
@RequestMapping(value = "/restClinet")
        @ResponseBody
        public Map<String, Object> restClinet(@RequestBody Trade trade) {

            logger.info("TestRestClient"  + trade);
            // save trade
            Map<String, Object> results = new HashMap<String, Object>();
            results.put(Error.S001.getErrorCode(),Error.S001.getErrorMessage());
            results.put("trades",this.tradeService.getAllTrades());            
            
            return results;
        }

返回模版信息

 3.HttpHeaders传输数据

1)添加HttpHeaders

2)获取HttpHeaders

@RequestMapping(value = "/restClinet")
        @ResponseBody
        public Map<String, Object> restClinet(@RequestBody Trade trade,@RequestHeader HttpHeaders headers) {

            logger.info("TestRestClient"  + trade);
            // save trade
            String userCountry = headers.getFirst("userType");
            Map<String, Object> results = new HashMap<String, Object>();
            results.put(Error.S001.getErrorCode(),Error.S001.getErrorMessage());
            results.put("userCountry", userCountry);
            results.put("trades",this.tradeService.getAllTrades());    
            
            
            return results;
        }

 或者

        @RequestMapping(value = "/restClinet")
        @ResponseBody
        public Map<String, Object> restClinet(@RequestBody Trade trade,@RequestHeader("userType") String  userType) {

            logger.info("TestRestClient"  + trade);
            // save trade
            Map<String, Object> results = new HashMap<String, Object>();
            results.put(Error.S001.getErrorCode(),Error.S001.getErrorMessage());
            results.put("userType", userType);
            results.put("trades",this.tradeService.getAllTrades());    
            
            
            return results;
        }

 

 

转载于:https://www.cnblogs.com/lukelook/p/9764490.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值