Boostrap-table 通过POST提交 服务端如何获取参数

一、问题描述

Bootstrap-table通过GET和POST获取后台数据时,提交给服务器的参数格式不一样。

  • 通过GET方式提交的参数格式:
limit=5&offset=0&order_id=1&order_status=CLOSED

  • 通过POST方式提交的参数格式:
{"limit":5,"offset":0,"order_id":1,"order_status":"CLOSED"}

二、解决办法

POST方式提交的参数格式实际上是json格式,因此在Controller方法中,加上@RequestBody参数,然后把参数转成json对象,接着就可以通过属性名获取值。代码示例如下:

@ResponseBody
@RequestMapping(value = "/getTable", method = RequestMethod.POST)
public List<Table> getTable(HttpServletRequest sRequest, @RequestBody String request) {
    //使用Alibaba的fastjson将json格式字符串转成json对象
    JSONObject reqJson = JSONObject.parseObject(request);
    String id = reqJson.getString("order_id");
    String status = reqJson.getString("order_status");
    System.out.println("id: " + id + ", status: " + status);

    List<OrderDetail> list = null;
    //......省略.....
   
    return list;
}

重点就是第3行中的"@RequestBody String request"!!!

三、结束语

欢迎关注我的博客专栏《SSM整合之企业级后台管理系统》,学习上有任何疑问还可以加群交流哦:584017112

发布了36 篇原创文章 · 获赞 75 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/u012586848/article/details/103186494