feign怎么远程调用
时间: 2023-09-02 13:12:06 浏览: 109
Feign 是一个基于接口的声明式 HTTP 客户端,可以让我们更加方便地进行 HTTP 远程调用。使用 Feign 远程调用的步骤如下:
1. 引入 Feign 依赖。
2. 定义一个接口,用于描述要调用的 HTTP API。
3. 使用 Feign 的注解来描述 HTTP 请求的参数和返回值格式。
4. 使用该接口调用远程 HTTP API。
以下是一个简单的 Feign 远程调用的示例:
1. 引入 Feign 依赖:
```xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
```
2. 定义一个接口,例如:
```java
@FeignClient(name = "example-service")
public interface ExampleService {
@GetMapping("/example/{id}")
Example getExample(@PathVariable("id") Long id);
@PostMapping("/example")
Example createExample(@RequestBody Example example);
}
```
3. 使用 Feign 的注解来描述 HTTP 请求的参数和返回值格式:
```java
@FeignClient(name = "example-service")
public interface ExampleService {
@GetMapping("/example/{id}")
Example getExample(@PathVariable("id") Long id);
@PostMapping("/example")
Example createExample(@RequestBody Example example);
}
```
4. 使用该接口调用远程 HTTP API:
```java
@RestController
public class ExampleController {
private final ExampleService exampleService;
public ExampleController(ExampleService exampleService) {
this.exampleService = exampleService;
}
@GetMapping("/example/{id}")
public Example getExample(@PathVariable("id") Long id) {
return exampleService.getExample(id);
}
@PostMapping("/example")
public Example createExample(@RequestBody Example example) {
return exampleService.createExample(example);
}
}
```
这样就可以通过 Feign 远程调用 HTTP API 了。
阅读全文