<dependencies>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<version>9.5.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-gson</artifactId>
<version>9.5.0</version>
</dependency>
</dependencies>
@RestController
public class MyRestController {
@RequestMapping(value = "/person/{id}", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public Person getPerson(@PathVariable Integer id) {
Person p = new Person();
p.setId(id);
p.setName("angus");
p.setAge(30);
return p;
}
}
public interface HelloClient {
@RequestLine("GET /hello")
public String hello();
@RequestLine("GET /person/{id}")
public Person getPerson(@Param("id") Integer id);
}
public static void main(String[] args) {
HelloClient client = Feign.builder().target(HelloClient.class,
"http://localhost:8080");
String result = client.hello();
System.out.println(result);
}
public static void main(String[] args) {
HelloClient client = Feign.builder()
.decoder(new GsonDecoder())
.target(HelloClient.class,
"http://localhost:8080");
Person p = client.getPerson(1);
System.out.println(p.getId());
System.out.println(p.getName());
System.out.println(p.getAge());
}