项目背景
-- 根据网上对于feign的使用太过于复杂,新手想要去快速学习和体验,会造成入门成本太大,需要去搭建注册中心、熔断器、配置程度也稍微繁琐,很容易打消初学者的兴趣,现在根据自己的经验写一个简单粗暴的demo,供大家学习和参考 下面是项目地址
git地址
https://github.com/wo-wo-wo/Spring.git
-- 核心代码
client
@RestController
@RequestMapping("client/")
public class ClientController {
@Autowired
private RemoteApi remoteApi;
@GetMapping("getRequestService")
public String getRequestService(){
return remoteApi.helloWorld();
}
@GetMapping("getLocal")
public String getLocal(){
return "本地调用成功了";
}
}
@SpringBootApplication
@EnableFeignClients(clients={RemoteApi.class})
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
//配置文件
server:
port: 9991
remote:
service:
name: service
ip: localhost:9992
--
feignapi
public interface FeignApi {
@GetMapping({"helloWorld"})
String helloWorld();
}
@FeignClient(name ="${remote.service.name}",path ="remote/",url ="${remote.service.ip}")
public interface RemoteApi extends FeignApi {
}
--
service
@RestController
@RequestMapping("remote/")
public class RemoteClientController implements FeignApi {
@Override
public String helloWorld() {
System.err.println("简单粗暴的feign调用成功了");
return "成功远程到服务端了";
}
}
//配置文件
server:
port: 9992