从版本spring-cloud-openfeign-core
更新到版本2.1.1
后,我2.1.2
遇到了麻烦。
当我使用空参数执行调用时,它总是将其名称添加到查询字符串中,而以前并非如此。
在2.1.1
中生成的url为http://test.url/endpoint
,但在2.1.2
中它生成的http://test.url/endpoint?id
以?id
结尾。
// request
myFeignClient.myGetRequest(List.of())
// client
@FeignClient(name = "client", url = "http://test.url/")
public interface MyFeignClient {
@RequestLine("GET /endpoint?id={id}")
Object get(@Param(value = "id") List<String> id);
}
有什么方法可以消除空参数名称?
答案 0 :(得分:0)
我不希望这能奏效。 Have a look at this
并且您应该在客户端伪装中尝试以下方法:
@GetMapping("/endpoint")
@ResponseBody
Object get(@RequestParam(value = "id", required = false) List<String> id);
服务器:
@GetMapping("/endpoint")
Object get(@RequestParam(value = "id", required = false) List<String> id) {
//...
}