我们写好一个接口后,需要进行测试。有时我们会写一个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;
}

使用FireFox插件RESTClient、HttpRequester模拟http(get post)请求的更多相关文章

  1. 使用FireFox插件RESTClient工具POST方法?

    下面尝试用Firefox的restclient,来调取api 当然需要打开火狐浏览器安装restclient的插件https://addons.mozilla.org/en-US/firefox/ad ...

  2. 使用Mozilla Firefox插件RestClient测试Http API接口

    RESTClient是Mozilla Firefox一个用于测试http请求插件.在火狐附加组件里面查询并安装,非常小巧,界面非常简单,使用非常的方便,看下面这张图你就全明白了,希望对新手有帮助! 1 ...

  3. 使用firefox插件httperrequest,模拟发送及接收Json请求 【转】

    转自[http://blog.csdn.net/feixue1232/article/details/8535212] 目标:使用httpreques\Json-Handle\tcpdump\wire ...

  4. RESTClient - firefox插件

    地址:https://addons.mozilla.org/zh-CN/firefox/addon/restclient/ 关于此附加组件 RESTClient是一款用于测试各种Web服务的插件,它可 ...

  5. firebox httprequester 模拟请求

    获取下载插件 httprequester 模拟POST请求,必须点击Parameter Body 参数写法:abc=123&id=456 也可以选择Headers栏目添加

  6. firefox插件poster的使用,发起自定义http请求

    快捷键:ctrl+alt+p 在开发WEB程序的时候,经常需要模拟http请求,接收服务器响应,从而检验程序的正确性. Firefox插件poster,可以模拟各种http请求,并详细设置请求参数,比 ...

  7. [转载]Firefox插件(plugins)开发实用指南

    转自: http://huandu.me/2010/02/11/595/ Firefox插件可实现强大功能,但其中麻烦事情不少.写这个实用指南首先是为了方便自己记忆,免得以后再次栽倒一些坑里面,如果能 ...

  8. Windows 常用工具 & 开发工具 & Chrome插件 & Firefox 插件 & 办公软件

    常用工具 1.FastStone 8.0 2.印象笔记 3.Chrome 4.Beyond Compare 5.Everything 6.有道词典 7.文本编辑软件 EditPlus UltraEdi ...

  9. firefox 插件 URLRedirector 审核通过

    firefox 插件 URLRedirector 审核通过 前段时间弄的 firefox 插件,昨天通过了审核,已经在 firefox 上可以搜索和安装. 插件用 webextension 写的,代码 ...

随机推荐

  1. JavaScript -- Window-Resize

    -----036-Window-Resize.html----- <!DOCTYPE html> <html> <head> <meta http-equiv ...

  2. CSS3无前缀脚本prefixfree.js与Animatable使用介绍

    要求 必备知识 本文要求基本了解 JAVASCRIPT 和 和 CSS3 基本知识. 运行环境 桌面端:IE9 +,Opera 10+,火狐3.5 +,Safari 4+和Chrome浏览器;移动端: ...

  3. 前端通信:ajax设计方案(九)--- 完善文档

    ajax-js 1.9.1 文档 目录 * common(options, isCreatePoll) * config(options) * get(url, data, successEvent, ...

  4. Qt编写自定义控件12-进度仪表盘

    前言 进度仪表盘主要应用场景是标识一个任务进度完成的状况等,可以自由的设置范围值和当前值,为了美观还提供了四种指示器(圆形指示器/指针指示器/圆角指针指示器/三角形指示器),各种颜色都可以设置,其中的 ...

  5. H5+App开发框架汇总

    MUI:http://dcloudio.github.io/mui/(使用H5+app模式,号称是最接近原生,但是目前在手机和电脑浏览器无法使用) app-framework:http://app-f ...

  6. iOS开源项目周报0428

    由OpenDigg 出品的iOS开源项目周报第十八期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Bouncy ...

  7. sqlhelper中事务的简单用法

    sql1="INSERT INTO tablename(Id,col1,col2) VALUES(@Id,@col1,@col2) update tablename2 set col=@co ...

  8. 关于 luv_letters

    luv_letters是一枚现高二文化课菜鸡,是一枚临汾一中联赛oier(我太菜了),也是一名Cher. (好像没有好的地方 真名不提跟某个当红女明星一样(正经汉子不女装 话说当初选择竞赛科目的时候( ...

  9. 学习c++的五十条忠告

    1.把C++当成一门新的语言学习: 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programming Language ...

  10. [日常] Go语言圣经--复合数据类型,数组习题

    go语言圣经-复合数据类型 1.以不同的方式组合基本类型可以构造出来的复合数据类型 2.四种类型——数组.slice.map和结构体 3.数组是由同构的元素组成——每个数组元素都是完全相同的类型——结 ...