带有查询参数的netflix虚拟问题

时间:2019-03-05 14:04:05

标签: spring-boot spring-cloud-feign netflix-feign

我正在使用伪装客户端进行一些发现和请求。

我在请求中使用查询参数

如果我像下面这样进行硬编码,就可以了。

@FeignClient("userdetailservice")
public interface UserServiceClient {
@RequestMapping(
            method= RequestMethod.GET,
            value = "/alluser/getmyuser?user=1234")
    String getUserDetails();
    }

但是这个不起作用,尽管我提到的是GET,但它以“ POST”发送请求。非常奇怪。

@FeignClient("userdetailservice")
public interface UserServiceClient {
@RequestMapping(
            method= RequestMethod.GET,
            value = "/alluser/getmyuser?user={userid}")
    String getUserDetails(@Param(value = "userid") String userid);
    }

因此,如何在Feign请求中发送查询参数。

1 个答案:

答案 0 :(得分:0)

所有查询参数将使用&字符通过拆分自动从url中提取,并映射到方法声明中的相应@RequestParam。因此,您无需在@RequestMapping批注中指定所有键,而在此处仅应指定端点值。

您可以检查以下问题的答案:How to call url with multiple query string params in FeignClient?