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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章