当我们使用Postman测试springmvc api接口时,接口中的参数经常会封装成对象,对象中还可能包含map、list请求方式如下:
1、请求对象中包含map参数
图中params是对象中HashMap,(params["rkType"] rkType是此map的key) 如果请求参数值有中文 直接使用from-data方式 Postman Body ->form-data 下面直接添加参数即可
后台Controll
@RequestMapping(value = "/roleSkin/list", method = {RequestMethod.GET,RequestMethod.POST}, produces = "text/plain;charset=UTF-8")
@ResponseBody
public String pageList(BasePageParamsEntity pageParamsEntity,String callback) {
JSONObject response = new JSONObject();
try {
// 如果排序字段不为空 升序或降序为空 设置默认:降序
if (!StringUtils.isEmpty(pageParamsEntity.getSort())) {
if (StringUtils.isEmpty(pageParamsEntity.getOrder())) {
pageParamsEntity.setOrder("DESC");
}
}
Pagination pagination = new Pagination();
pagination.transferParamsEntity(pageParamsEntity);
pagination = roleSkinService.pageList(pagination);
response.put("code","200");
response.put("msg","success");
response.put("data",pagination);
} catch (Exception e) {
response.put("code","999");
response.put("msg","查询异常");
}
return StringUtils.callback(callback,response);
}
BasePageParamsEntity 对象实体
public class BasePageParamsEntity implements Serializable{
/**
* 每页显示条数
*/
private Integer limit;
/**
* 第几页
*/
private Integer offset;
/**
* 排序字段
*/
private String sort;
/**
* 排序(升序、降序)
*/
private String order;
private String keyWords;//关键字
private Map params = new HashMap();
public Integer getLimit() {
return limit;
}
public void setLimit(Integer limit) {
this.limit = limit;
}
public Integer getOffset() {
return offset;
}
public void setOffset(Integer offset) {
this.offset = offset;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
public String getKeyWords() {
return keyWords;
}
public void setKeyWords(String keyWords) {
this.keyWords = keyWords;
}
public Map getParams() {
return params;
}
public void putParamValue(String key,Object value){
params.put(key, value);
}
}
2、请求对象中包含list、数组参数
直接使用图中方式请求即可 其中 arr必须在请求后台有定义