Client 와 Frontend Server
Frontend와 Backend
Backend와 Backend
어떤 서버가 HTTP 통신을 통해서 다른 서버의 리소스를 이용한다면 그 때만큼은 클라이언트의 역할을 한다
Rest Client
Java에서 사용할 수 있는 HTTP Client 라이브러리
Spring 에서 Java에서 사용 할 수 있는 HTTP Client 라이브러리 중 하나를 이용하여 원격지에 있는 다른 Backend 서버에 HTTP 요청을 보낼 수 있는 RestTemplate 이라는 Rest Client API 제공
Template 의미
RestTemplate Apache HttpComponents 전달 예시
dependencies {
...
...
implementation 'org.apache.httpcomponents:httpclient'
}
public class RestClientExample01 {
public static void main(String[] args) {
RestTemplate restTemplate =
new RestTemplate(new HttpComponentsClientHttpRequestFactory());
UriComponents uriComponents =
UriComponentsBuilder
.newInstance()
.scheme("http")
.host("worldtimeapi.org")
.port(80)
.path("/api/timezone/{continents}/{city}")
.encode()
.build();
URI uri = uriComponents.expend("Asia", "Seoul").toUri();
String result = restTemplate.getForObject(uri, String.class);
System.out.println(result);
}
}
UriComponentsBuilder
클래스를 이용하여 UriComponents
객체 생성하여 HTTP Tequest를 요청할 엔드포인트 URI 생성UriComponentsBuilder 클래스 제공 API 메서드 기능
Methods | 기능 |
---|---|
newInstance() | UriComponentsBuilder 객체 생성 |
scheme() | URI scheme 설정 |
host() | host 정보 입력 |
port() | 포트번호 지정(디폴트값 80) |
path() | URI 경로 지정 |
encode() | URI에 사용된 템플릿 변수 인코딩 |
build() | UriComponents 객체 생성 |
UriComponents API 메서드 기능
Methods | 기능 |
---|---|
expend() | 입력값을 URI 템플릿 변수값으로 대체 |
toUri() | URI 객체 생성 |