首页 > 解决方案 > netflix feign 查询参数问题

问题描述

我正在使用 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 请求中发送查询参数。

标签: spring-bootspring-cloud-feignnetflix-feign

解决方案


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

所以你不需要指定@RequestMapping注释的所有键,你应该只指定端点值。

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


推荐阅读