feign @QueryMap
时间: 2024-10-10 15:01:35 浏览: 45
spring cloud feign不支持@RequestBody+ RequestMethod.GET报错的解决方法
5星 · 资源好评率100%
Feign是一个Netflix提供的声明式HTTP客户端,它用于简化微服务之间的API调用。`@QueryMap` 是Feign的一个注解,通常用在方法参数上,它的作用是在发送HTTP请求时,将方法参数中的Map作为查询字符串(query parameters)传递到URL中。
例如,在使用Feign调用REST API时,如果你有一个包含键值对的Map对象:
```java
public interface MyApi {
@GetMapping("/users")
User getUser(@QueryMap Map<String, String> params);
}
```
你可以这样调用这个方法:
```java
Map<String, String> queryParams = new HashMap<>();
queryParams.put("username", "John");
queryParams.put("email", "john@example.com");
MyApi myApi = Feign.builder().target(MyApi.class, "http://api.example.com");
User user = myApi.getUser(queryParams);
```
这里,`@QueryMap`会自动将`queryParams`转换成key=value形式的查询字符串,如"?username=John&email=john%40example.com"添加到GET请求的URL后面。
阅读全文