场景

vue中使用axios请求springboot的后台接口时需要传递一个int数组。

原本使用的是get请求。

export function handCompletedRequest(ids) {
  return request({
    url: '/kqgl/ddjl/dealCompleted',
    method: 'get',
    params: 
 {
  ids:ids
 }
  })

然后在Springboot中

    @GetMapping("/dealCompleted")
    public AjaxResult dealCompleted(@RequestParam(required = true) int[] ids)
    {
        return AjaxResult.success(kqDdjlService.dealCompleted(ids));
    }

去接收,结果提示:

Error parsing HTTP request header

 

 

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

这是因为即使是使用params进行传递参数的形式,使用get请求还是将其拼接到url中,是对参数长度有限制。

所以如果是传递数组参数,改用post请求的方式

export function handCompletedRequest(ids) {
  debugger
  return request({
    url: '/kqgl/ddjl/dealCompleted',
    method: 'post',
    data: ids
  })

后台

    @PostMapping("/dealCompleted")
    public AjaxResult dealCompleted(@RequestBody(required = true) int[] ids)
    {
        return AjaxResult.success(kqDdjlService.dealCompleted(ids));
    }

 

posted on 2020-07-28 09:47  霸道流氓  阅读(1469)  评论(0编辑  收藏  举报

Live2D