使用resttemplate使用数组参数调用webservice

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用resttemplate使用数组参数调用webservice相关的知识,希望对你有一定的参考价值。

如何使用resttemplate调用以下Web服务

curl -v POST --cert kkk.cer --key kkk.private --pass kkk --cacert sslservercachain.cer“https://hello-sign.api-dev.myname.com/v1/gkscl/1p1/services/filesLocation”-H“授权:bearer zxAM4M90964ae”-d“{”fileids “:[1, 21,22]}“

答案

所以我假设服务器有一些控制器(你可以调整差异部分为你工作它只是一个例子):

@PostMapping
public ResponseEntity somePost(@RequestBody PostRequestObject request)
{
    // logic
}

为发送请求创建相应的类:

@Data
class PostRequestObject { 
    List<Integer> data;
}

使用resttemplate发送请求:

PostRequestObject request = new PostRequestObject();
request.setData(Arrays.asList(1,21,22));
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + "zxAM4M90964ae");
HttpEntity<Object> requestEntity = new HttpEntity<Object>(request, headers);

     ResponseEntity<YourResponseClass> result = restTemplate.exchange(
                "https://hello-sign.api-dev.myname.com/v1/gkscl/1p1/services/filesLocation",
                HttpMethod.POST,
                requestEntity,
                YourResponseClass.class);

在-d之后尝试这个:

 'fields[]=1&fields[]=21&fields[]=22'

以上是关于使用resttemplate使用数组参数调用webservice的主要内容,如果未能解决你的问题,请参考以下文章

Spring RestTemplate 调用带有错误的 web 服务并分析状态码

使用RestTemplate在代码内调用POST请求的参数乱码问题

基于SpringBoot实现使用restTemplate实现文件和普通参数的同时上传和接收

Spring RestTemplate GET 带参数

如何在RestTemplate 结合 Ribbon 使用?

resttemple远程post调用