1. 程式人生 > >SpringCloud之基礎例項之客戶端

SpringCloud之基礎例項之客戶端

本文章總結摘錄的《Spring Cloud與Docker微服務架構實戰》,如果覺得文章對您有所幫助想有所精進,請購買正版書籍深入研究

承接上文的SpringCloud之基礎例項之服務端,我們來編寫服務端

新增pom依賴同服務端

建立使用者實體類

package com.etoak.pojo.h2;

import java.math.BigDecimal;

import lombok.Data;

@Data
public class User {
	private Long id;
	private String username;
	private String name;
	private Integer age;
	private BigDecimal balance;
}

建立啟動類

package com.etoak;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
public class App {
	@Bean
	public RestTemplate restTemplate() {
		return new RestTemplate();
	}
	
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

建立Controller,在其中使用RestTemplate 請求微服務的API

package com.etoak.controller;



import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import com.etoak.pojo.h2.User;

@RestController
public class ConsumerController {
	
	@Autowired
	private RestTemplate restTemplate;
	
	@GetMapping("/user/{id}")
	public User findById(@PathVariable Long id) {
		return this.restTemplate.getForObject("http://localhost:8000/"+id, User.class);
	}
}

新增配置檔案application.yml

server:
  port: 8010

訪問http://127.0.0.1:8010/user/1
在這裡插入圖片描述