postman是一款比较不错的API请求工具,支持windows、mac、linux操作系统的使用(下载地址)。
这里主要记录了SpringMVC中RestAPI常用的几种请求:
- GET 请求
- POST Form-data参数请求
- POST JSON参数请求
- 基于Session登录机制的登录后的资源请求
GET 请求
get请求比较简单,一般使用浏览器地址栏就可以进行测试,所以在postman中使用方式基本一样,首先选择请求方式为GET,然后输入api地址,点击Send即可。
POST form-data数据格式
这里使用springmvc的@ResponseBody注解,作为请求资源:
@ResponseBody
@RequestMapping("test")
public Object test(String userId,String userName){
Map<String,Object> params = new HashMap<>();
params.put("userId",userId);
params.put("userName",userName);
return params;
}
在Postman中,选择请求类型为POST,然后点击Body选项卡,增加需要的请求参数即可,请求如下:
POST JSON数据格式
在Post请求资源上,做了调整,增加@RequestBody或者@RequestParam注解,再增加消费属性为application/json,代码如下:
@ResponseBody
@RequestMapping(name = "save",method = RequestMethod.POST,consumes = "application/json")
public Object save(@RequestBody UserBean userBean){
return userBean;
}
UserBean类:
package cn.zealon.mvc.entity;
/**
* @Author: zealon
* @Version: 1.0
*/
public class UserBean {
private String userId;
private String userName;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Override
public String toString() {
return "UserBean{" +
"userId='" + userId + '\'' +
", userName='" + userName + '\'' +
'}';
}
}
这时,需要客户端请求格式必须为application/json形式才能处理该请求,postman中调整请求如下:
1、Headers中,增加Content-Type,值为application/json;
2、在Body选项卡中,需要选择raw格式,并且指定数据格式为application/json;
需要登录后的资源请求
大多数的时候,我们的应用程序都需要登录后进行测试,这里以基于Session作为凭证的登录请求做示例。
这里请求一个JSON数据的url资源:/app/projectPartition/listdata,看一下没有登录的效果:
响应结果,可以看到进入了登录的页面,并没有返回想要的JSON数据,这是正常的。
那么现在需要在浏览器里登录这个系统,目的是拿到登录成功后Cookie里的JSESSIONID,然后把这个ID放入postman的授权里面应用。
首先进入主页:
然后查看JSESSIONID:
最后进入Postman,Authorization选项卡:
点击Cookies进入配置:
再点击JSESSION,进入编辑,把浏览器中的JSESSION的value,配置到此处保存即可。
最后再次执行Post请求:
可以看到,已经成功的返回了想要的结果。
作者: Zealon
崇尚简单,一切简单自然的事物都是美好的。