学习Spring Cloud之前先写一个跨服务调用的简单例子,看一下大概是什么样子的,这其实就相当于微服务的底层了。
创建一个名为orders(服务提供者)的spring boot工程,添加Web依赖,并且创建一个HelloCotroller:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello springclound";
}
}
然后再创建一个名为products(服务消费者)的spring boot工程,创建一个UserHelloController用于调用orders提供的服务:
@RestController
public class UserHelloController {
//调用8080提供的服务
@GetMapping("hello2")
public String hello() throws IOException {
//创建url对象
URL url = new URL("http://localhost:8080/hello");
//用url打开链接
HttpURLConnection con = (HttpURLConnection) url.openConnection();
//连接服务器
con.connect();
if (con.getResponseCode()==200){//如果响应码是200
//数据通过io流拿回来,意味着可以访问一张图片,也可访问一个文本
InputStream is = con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
//只有一行数据
String s = br.readLine();
return s;
}
return " ";
}
}
把product的端口号改为8082:
启动后访问products就可查看到orders说的信息: