
接口是这样的
我的调用方式是这样的
@Override public void deleteDataSource(List<String> ids) { if (CollectionUtils.isEmpty(ids)){ return; } List<Long> datasourceIds = ids.stream().map(Long::parseLong).collect(Collectors.toList()); MultiValueMap<String,Object> params = new LinkedMultiValueMap<>(); params.add("idList",datasourceIds); HttpEntity<MultiValueMap<String,Object>> entity = new HttpEntity<>(params,new HttpHeaders()); ResponseEntity<DataXResponse> exchange = restTemplate.exchange(adminServer + dataSourcePath,HttpMethod.DELETE,entity,DataXResponse.class); boolean isSuccess = this.handleResponse(exchange,Boolean.class); if (!isSuccess){ throw new FastdataException(FastdataPlatErrorCode.REST_CALL_FAILED.getCode(),"删除失败"); } } 然后服务端报错了
Caused by: java.lang.NumberFormatException: For input string: "[12]" 意思就是需要一个 list,但是接受到一个 string
有大哥遇到过这样的情况吗
1 ouyc 2021-03-25 12:29:16 +08:00 via Android 试试传一个用 , 隔开的字符串表示的 list |
2 hantsy 2021-03-25 13:38:09 +08:00 标准的 Uri 这种参数传递应该都是支持三种格式的。 1. uri?a=1&a=2&a=3 2. uri?a=1,2,3 3. uri?a[]=1&a[]=2&a[]=3 如果你的生成 URI 不是的话,肯定会有问题。 |
3 hantsy 2021-03-25 13:39:33 +08:00 |
7 ouyc 2021-03-29 16:19:18 +08:00 via Android |