使用Restlet Client发送各种Get和Post请求
在开发web应用时,在对Spring中的Controller进行测试时,需要发送各种get以及post请求进行测试,当然可以自己在浏览器里输入url或者对于测试而言使用Spring提供的MockMvc
编写代码进行测试,但是当我们想要测试诸如带Form表格提交(提交文件)的post等请求时,直接在浏览器里输入url或者使用MockMvc
(这个我还不知道怎么弄…)就不大好实现了,Restlet Client为我们提供了便利。
其地址为:https://restlet.com/modules/client/,可以安装Chrome浏览器插件,这样使用起来就更加方便,插件在浏览器界面如图所示:
主要有三个部分,REQUEST部分用来创建请求,RESPONSE部分表示请求的回复,可以在
COMPLETE REQUEST HEADERS部分查看自己发出的请求的完整请求头,接下来便创建请求
1. 创建普通get请求
发送get请求比较简单,直接输入url添加参数就可以了
2. 创建普通post请求
发送普通的post请求与1中的发送get请求类似,只是把METHOD改成post即可,再添加必要的参数
3. 创建post请求,模拟form提交表单
有时我们需要模拟form表单提交文件,此时对应controller代码可以如下获取
@RequestMapping("/proj")
@ResponseBody
public AjaxResult upload(String fileName, InputStream inputStream, HttpServletRequest request) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
int fileCount = 0;
Iterator<String> iterator = multiRequest.getFileNames();
while (iterator.hasNext()) {
String formFileElementName = iterator.next();
fileCount++;
MultipartFile multipartFile = multiRequest.getFile(formFileElementName);
if (null == multipartFile) {
throw new Exception("文件不能为空");
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
当我们发送模拟form表单请求时,注意到request请求实际为MultipartHttpServletRequest
类型,Spring会自动填充inputStream参数,实际上他与request里的inputStream是同一个,在restlet可以如下模拟
有几个需要注意的地方:
BODY
选项里面选择Form
- 点击
Add form parameter
并选择类型为File
,同时注意一定要写文件名,不然Controller里的代码Iterator<String>
是获取不到文件名的
iterator = multiRequest.getFileNames(); - 注意
Content-Type
类型为multipart/form-data
我们查看下面的COMPLETE REQUEST HEADERS,可以发现我们的请求类型为 multi/form-data,同时Restlet Client会自动帮我们设置boundary
头部
4. 创建post请求,直接传输文件
除了模拟form表单提交文件,我们也可以直接在body里添加文件,这时controller对应的request就不是MultipartHttpServletRequest
类型
选择BODY中的File选项,并拖拽文件,此时Restlet Client会自动帮我们填入对应的Content-type类型
使用Restlet Client发送各种Get和Post请求的更多相关文章
- Restlet Client发送GET、POST等请求
插件下载 百度云盘 链接:https://pan.baidu.com/s/13R4s1UR5TONl2JnwTgtIYw 密码:rt02 插件安装 解压后,直接拖进浏览器中. 功能演示
- 【经验随笔】Restlet Client发送XML格式参数消息
背景介绍 Restlet Client是一款模拟客户端发送http请求的chrome插件,可以作为驱动调试后台程序,个人觉得比POSTMAN好用.CXF是一款发布restful服务的开源组件. 编写r ...
- Android简单实现Socket通信,client连接server后,server向client发送文字数据
案例实现的是简单的Socket通信,当client(Androidclient)连接到指定server以后,server向client发送一句话文字信息(你能够拓展其他的了) 先看一下服务端程序的实现 ...
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求 哇,一看标题怎么这么长啊,其实意思很简单,哥讨厌用HTTP Client做POST与GET提交 觉得那个毕竟是别人写 ...
- httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求
1.httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求. http 连接一次就有返回流.http是个双向的嘛.只有连接了,就会有输出返回流. 所以在执行http连 ...
- php发送http put/patch/delete请求
今天学RESTful API的编写,发现不知道怎么发送HTTP PUT/PATCH/DELETE请求,还是要学习一个. 使用curl_opt函数来发送各式各样的http请求动作,不仅限于get和pos ...
- [Socket网络编程]由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。
原文地址:http://blog.sina.com.cn/s/blog_70bf579801017ylu.html,记录在此方便查看 解决办法: MSDN的说明: Close 方法可关闭远程主机连接, ...
- c++如何使用SOCKET 发送HTTP1.1 GET POST请求包
如何使用SOCKET 发送HTTP1.1 GET POST请求包 分类: 无线通信 C/C++2009-10-29 10:58 14259人阅读 评论(15) 收藏 举报 socket服务器actio ...
- php发送http put/patch/delete请求Demo
CURL请求对于PHPer是必备技能,使用curl_opt函数来发送各式各样的http请求动作,不仅限于get和post.在测试自己的restful api的时候,通过访问这个代理发送http put ...
随机推荐
- 逻辑与和逻辑或:&& 、||
逻辑或:首先看左边是真还是假(除了那5个都是真),如果为真,返回左边值,如果为假,返回右边的值 逻辑与:和逻辑或相同,先看左边的值是真是假,如果左边为真返回右边的值,左边为假返回左边的值 在两者同时出 ...
- sql语句的编程手册 SQL PLUS
一.SQL PLUS 引言 SQL命令 以下17个是作为语句开头的关键字: alter drop revoke audit grant rollback* commit* insert select ...
- Linear to physical address translation with support for page attributes
Embodiments of the invention are generally directed to systems, methods, and apparatuses for linear ...
- sprinng in action 第四版第六章中的ValidationMessages.properties不起作用
文件名必须是ValidationMessages.properties,必须放在类的根目录下
- UVA 10340 - All in All 水~
看题传送门 Problem E All in All Input: standard input Output: standard output Time Limit: 2 seconds Memor ...
- ImageView的圆角半径
// 设置imageview的圆角半径 UIImageView *imageView = (UIImageView *)[cell viewWithTag:tag]; imageView.layer. ...
- [React] Create an Auto Resizing Virtualized List with react-virtualized
In this lesson we'll show how to use the AutoSizer component from react-virtualized to automatically ...
- POJ 2642 The Brick Stops Here 0-1背包
poj: http://poj.org/problem?id=2642 大意: 给出n(n<=200)块黄铜合金,还有它们的浓度和价钱.给出若干个个询问使它们在n块中取 M 块 使得这M块合金的 ...
- 代码从windows下visual studio到andriod平台迁移的修改记录
前言 前言也是迁言,从windows的visual studio 2012平台迁移到android平台上,需用修改挺多的代码和需用注意地方. 我们当然的平台当初就考虑了其他平台跨平台的应用问题,所以一 ...
- [Recompose] Add Local State to a Functional Stateless Component using Recompose
Learn how to use the 'withState' and 'withHandlers' higher order components to easily add local stat ...