RestTemplate
- Spring에서 지원하는 간편하게 Rest API를 호출할 수 있게 해주는 클래스
Application - Bean 등록
- @LoadBalanced // 마이크로 서비스 이름으로 찾을 수 있게 해 줌
package com.gugbab.gugbabservices;
import ...
@SpringBootApplication
@EnableDiscoveryClient
public class GugbabServicesApplication {
...
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
RestTemplate 사용 예시
public class UserServicesImpl implements UserService {
...
private Environment env;
RestTemplate restTemplate;
@Autowired
public UserServicesImpl(Environment env, RestTemplate restTemplate ...) {
...
this.env = env;
this.restTemplate = restTemplate;
}
@Override
public UserDto getUserByUserId(String userId, HttpHeaders headers) {
...
String vocaUrl = String.format(env.getProperty("gugbab.public.url.voca_server") + "/star/all/%s",userId);
ResponseEntity<StarsResponse> starsResponse =
restTemplate.exchange(vocaUrl, HttpMethod.GET, new HttpEntity<>(headers), new ParameterizedTypeReference<StarsResponse>() {
});
StarsResponse stars = starsResponse.getBody();
...
}
}
'MSA' 카테고리의 다른 글
[MSA] Spring Boot - Feign Client Debug, 예외처리, ErrorDecoder사용 (0) | 2023.04.25 |
---|---|
[MSA] Spring Boot - Feign Client 란? Rest Api 호출 (0) | 2023.04.24 |
[MSA]Spring Boot - Config-server 대칭키 사용 (0) | 2023.04.14 |
[MSA] Spring Boot - Spirng Cloude Bus (RabbitMQ) (0) | 2023.04.13 |
[MSA] Spring Boot - Actuator(엑츄에이터) 란? 사용 (0) | 2023.04.12 |