netflix 伪装查询参数问题

netflix feign issue with query parameters

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

我在请求中使用了查询参数

如果我像下面这样硬编码它就可以工作。

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

但是这个不起作用,它以 'POST' 的形式发送请求,尽管我提到的是 GET。很奇怪。

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

那么如何在Feign请求中发送查询参数。

所有查询参数将通过使用 & 字符的拆分自动从 url 中提取,并映射到方法声明中相应的 @RequestParam

因此您不需要在 @RequestMapping 注释中指定所有键,您只需指定端点值即可。

您可以在以下问题中查看答案: