feign 传递数组
时间: 2023-07-21 10:08:11 浏览: 172
传递数组dll
在使用Feign调用接口时,如果需要传递数组参数,可以使用@RequestParam注解。具体的步骤如下:
1. 在接口定义中使用@RequestParam注解,指定参数名称和数组类型。例如:
```
@GetMapping("/api/test")
public String test(@RequestParam("ids") Long[] ids);
```
2. 在调用Feign接口时,将数组参数以逗号分隔的字符串形式传递,并在参数前加上"[]"符号。例如:
```
Long[] ids = {1L, 2L, 3L};
String result = testFeignClient.test(Arrays.toString(ids));
```
其中,testFeignClient是Feign接口的代理对象,以字符串形式传递的参数为"[1, 2, 3]"。
3. 在接口实现中解析数组参数,例如:
```
@GetMapping("/api/test")
public String test(@RequestParam("ids") String idsStr) {
Long[] ids = Arrays.stream(idsStr.replaceAll("\\[|\\]", "").split(","))
.map(Long::valueOf)
.toArray(Long[]::new);
// 处理业务逻辑
}
```
其中,idsStr为接口调用时传递的字符串参数,通过正则表达式和流式处理转换为Long类型的数组。
阅读全文