我们写好一个接口后,需要进行测试。有时我们会写一个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. Elasticsearch 5.X 使用 Docker 运行使用 Head 插件

    ES 5.X 版本后就不支持 elasticsearch-head  以插件方式来安装了. for Elasticsearch 5.x: site plugins are not supported. ...

  2. Maven 的基本配置与使用

    什么是Maven Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 发文时,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构 ...

  3. android app性能优化大汇总

    这里根据网络上各位大神已经总结的知识内容做一个大汇总,作为记录,方便后续“温故知新”. 性能指标: (1)使用流畅度:  图片处理器每秒刷新的帧数(FPS),可用来指示页面是否平滑的渲染.高的帧率可以 ...

  4. 手把手教你封装 Vue 组件并使用 NPM 发布

    Vue 开发插件 我们可以先查看Vue的插件的开发规范 我们开发的之后期望的结果是支持 import.require 或者直接使用 script 标签的形式引入,就像这样: ps: 这里注意一下包的名 ...

  5. Toast优化,解决频繁点击多次出现

    日常用到Taost的机会很多,用就大家都会用,但是直接使用时,频繁点击Toast就会频繁出现,点击多少次就出现多少次,如果你不在页面的生命周期相应位置cancel掉Toast的话,即使退出了页面也是会 ...

  6. [Java初探04]__字符串(String类)相关

    前言 接下来将暂时将重心偏移向实际操作,不在将大量时间花费在详细的知识点整理上,将会简略知识总结笔记的记录,加强实际练习的时间,实例练习篇也不再同步进行,我会将部分我觉得重要的源码更新在每节知识点后面 ...

  7. 28-hadoop-hbase入门小程序

    hbase的完全分布式建立起来了, 可以试下好使不 1, 导包, {HBASE_HOME}/lib 下所有的jar包, 导入 2, 使用junit测试, 会报错, 因为缺少一个jar 3, 获取链接, ...

  8. ABP框架服务层的接口与实现(增删改查)

    public interface ITaskAppService : IApplicationService { IList<TaskDto> GetAllTasks();//所有 Get ...

  9. 大数据之presto

    1.概述 Presto是一个分布式SQL查询引擎,用于查询分布在一个或多个不同数据源中的大数据集.presto可以通过使用分布式查询,可以快速高效的完成海量数据的查询.它是完全基于内存的,所以速度非常 ...

  10. java sendmail

    http://blog.csdn.net/Guerlei/article/details/53189522