1、复制一份SpringBootTest,并改名为SpringBootTestConsumer
2、修改application.yml的服务名为SpringBootTestConsumer,并修改端口号,避免冲突。
3、build.gradle添加Feign的依赖包
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
4、新建GreetingClient类,对SpringBootTest的服务进行调用。
package demo.takchi.chan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Configuration
@EnableFeignClients
@EnableDiscoveryClient
public class GreetingClient {
@Autowired
private TheClient theClient;
@FeignClient(name = "SpringBootTest")
interface TheClient {
@RequestMapping(path = "/v1/greeting", method = RequestMethod.GET)
@ResponseBody
String HelloWorld();
}
public String HelloWorld() {
return "rsp from SpringBootTest: " + theClient.HelloWorld();
}
}
5、修改Controller,调用GreetingClient
package demo.takchi.chan;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
@Autowired
private GreetingClient helloWorldClient;
private static Logger logger = LogManager.getLogger(GreetingController.class);
@GetMapping("/get-greeting")
public String greeting() {
String msg = helloWorldClient.HelloWorld();
logger.error(msg);
return msg;
}
}
6、启动程序