feign如何实现form/data调用
时间: 2023-12-26 10:03:36 浏览: 133
Spring Cloud使用Feign实现Form表单提交的示例
使用 Feign 进行 `application/x-www-form-urlencoded` 形式的请求,可以按照以下步骤进行:
1. 定义接口,并使用 `@RequestLine` 注解指定请求的 HTTP 方法和路径。参数使用 `@Param` 注解进行标记,表示请求参数的名称。
```java
public interface FormService {
@RequestLine("POST /form")
void postForm(@Param("name") String name, @Param("age") int age);
}
```
2. 在 Feign 的配置中设置编码器为 `FormEncoder`,这样 Feign 就会将请求体编码成 `application/x-www-form-urlencoded` 格式。
```java
@Bean
public Encoder encoder() {
return new FormEncoder();
}
```
3. 使用 `Feign.Builder` 构建 Feign 客户端,并调用接口方法发送请求。参数按照标记的名称进行传递。
```java
public static void main(String[] args) {
FormService service = Feign.builder()
.encoder(new FormEncoder())
.target(FormService.class, "http://localhost:8080");
service.postForm("Tom", 20);
}
```
这样就可以使用 Feign 进行 `application/x-www-form-urlencoded` 形式的请求。希望对你有帮助。
阅读全文