vararg parameter must be the last in the list

有时候我们在使用不定参数是,会报错,报错信息如下所示

   

报这个错的原因是因为,参数不定,所以,一般要把这个参数放到最后面去,

@RequestMapping(value = "/convertData2String/{token}/{deptCode}",method = RequestMethod.GET)
    public ResultMsg convertData2String(@PathVariable(value = "token") String token,
                @ApiParam(value = "数据来源tableId", required = true) @RequestParam String inTableId,
                 @ApiParam(value = "数据输出tableId", required = true) @RequestParam String  outTableId,
                 @ApiParam(value = "数据来源参数", required = true) @RequestParam Object... inParameter){
        ResultMsg resultMsg = this.checkTokenEffective(token);
        if (StringUtils.equals(ResultCode.OVERDUE.getResultCode(), resultMsg.getResultCode())) {
            return resultMsg;
        } else {
            return this.returnSuccess(parameterTypeReverseService.
                    convertData2String(inTableId,inParameter,outTableId));
        }
    }

如上图所示写法,就不会报错了.

注意:

  1)不定项参数必须放在参数列表最后一个。

  2)不定项参数只能有一个(多个,必然有一个不是最后一个)。

  3)重载时,运行优先级问题。

发布了23 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ghd602338792/article/details/85062904