我们写好一个接口后,需要进行测试。有时我们会写一个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. 使用Java客户端对Redis进行操作

    一.背景 上篇文章我们介绍了如何在centos7下面进行安装单机版redis以及redis集群.这篇文章,我们来聊一聊如何使用java客户端来进行操作redis.我们知道redis的java客户端有很 ...

  2. 利用:before和:after伪类制作CSS3 圆形按钮 含demo

    要求 必备知识 基本了解CSS语法,初步了解CSS3语法知识. 开发环境 Adobe Dreamweaver CS6 演示地址 演示地址 预览截图(抬抬你的鼠标就可以看到演示地址哦): 制作步骤: 一 ...

  3. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架

    引入依赖 Spring Boot对于MyBatis的支持需要引入mybatis-spring-boot-starter的pom文件. <dependency> <groupId> ...

  4. docker-dockerfile使用

    使用 centos基础镜像, 构建dockerfile-ngix 简单说, 就是把需要做的东西写下来, 然后build的时候, 自动运行 一般包含:  基础镜像信息 维护者信息 镜像操作指令 容器启动 ...

  5. Linux ulimit和动态修改MySQL最大线程数限制

    ulimit是限制进程对资源的使用但软件资源限制变化不大,特别是process/file,分别对应nproc和nofilenproc可用 ulimit -u 查询:nofile可用 ulimit -n ...

  6. MySQL中的三中循环 while 、 loop 、repeat 求 1~n 的和

    -- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和/* while循环语法:while 条件 DO 循环体 ...

  7. Java NIO系列教程(三) Buffer

    Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的.交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被 ...

  8. 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)

    目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...

  9. SSM整合Shiro 身份验证及密码加密简单实现

    1.导入maven的相关依赖 <!-- shiro --> <dependency> <groupId>org.apache.shiro</groupId&g ...

  10. 超简单MVC应用程序播放WMV视频

    本篇博文,介绍给大家的是,在MVC应用程序中,播放Windows media video(.wmv) 视频文件. Insus.NET的实现方法,把media player组件,嵌入MVC的控制器的Co ...