So you can use that interface' method to request rest call to other server.
After setting up the eureka server named as eureka-server,
you can set the feign client as below.
- structure
- pom.xml
4.0.0 org.blog.test feign-project 1.0-SNAPSHOT org.springframework.cloud spring-cloud-netflix 1.1.2.RELEASE pom import org.springframework.cloud spring-cloud-starter-eureka org.springframework.cloud spring-cloud-starter-feign org.springframework.boot spring-boot-starter-actuator 1.3.6.RELEASE
- application.properties
server.port=8888 spring.application.name=eureka-client logging.level.org.blog.test.EurekaServerClient=debug
- FeignConfig.java
package org.blog.test;
import feign.Logger;
import feign.Logger.Level;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignConfig {
@Bean
Level feignLoggerLevel() {
return Level.FULL;
}
}
- FeignClientApplication.java
package org.blog.test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
@RestController
public class FeignClientApplication {
@Autowired
public EurekaServerClient eurekaServerClient;
public static void main(String[] args) {
SpringApplication.run(FeignClientApplication.class, args);
}
@RequestMapping("/server/info")
public String getServerInfo() {
return eurekaServerClient.getServerInfo("client-1");
}
}
- EurekaServerClient.java
package org.blog.test;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient("eureka-server")
public interface EurekaServerClient {
@RequestMapping("/hello/{serverId}")
public String getServerInfo(@RequestParam("serverId") String serverId);
}
- result


댓글 없음 :
댓글 쓰기