本文将介绍如何访问eureka中的服务。
1、环境约束
- win10 64为操作系统
- idea2018.1.5
- maven-3.0.5
- jdk-8u162-windows-x64
2、前提约束
- 已经创建好一个注册中心并已启动 https://www.jianshu.com/p/0c4ac4b0c128
- 已经在注册中心上注册了一个服务 https://www.jianshu.com/p/b730990d1daf
3、操作步骤
3.1 按下图步骤创建一个eureka客户端【注意,多了一个Feign组件】
3.2 重命名application.properties为application.yml
修改application.yml为如下内容:
server:
port: 8082
eureka:
client:
service-url:
defaultZone: http://localhost:7561/eureka
spring:
application:
name: user-web
3.3 修改主启动类net.wanho.springboot.web1.Web1Application.java
package net.wanho.springboot.web1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableFeignClients
@EnableEurekaClient
public class Web1Application {
public static void main(String[] args) {
SpringApplication.run(Web1Application.class, args);
}
}
3.4 创建一个net.wanho.springboot.web1.UserServiceI.java接口
package net.wanho.springboot.web1;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient("user-service")//务必与已经注册到eureka中服务名称相同
public interface UserServiceI {
@RequestMapping("/info/query")//务必与已经注册到eureka中服务提供的api相同
String queryInfo();
}
3.5 创建net.wanho.springboot.web1.UserController.java
package net.wanho.springboot.web1;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class UserController {
@Resource
UserServiceI userServiceI;
@RequestMapping("/testquery")
public String queryInfo()
{
return userServiceI.queryInfo();
}
}
3.6 启动测试
在eureka已经启动并且已经注册了一个服务在eureka之后,启动本章服务。
在浏览器中继续查看Eureka注册中心信息:
在浏览器中输入http://localhost:8082/testquery,我们能看到8083服务响应的信息,注意,这可是两个服务。
至此,我们完成了在springcloud的中一个服务去访问另外一个服务。