# 35.REST 서비스 호출 RestTemplate

애플리케이션에서 원격 REST 서비스를 호출해야한다면 Spring Framework의 [**`RestTemplate`**](https://docs.spring.io/spring/docs/5.1.7.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html)클래스를 사용할 수있다 . `RestTemplate` 인스턴스는 사용되기 전에 자주 커스터마이징되어야하기 때문에, Spring Boot는 자동으로 구성된 `RestTemplate` 빈을 제공하지 않습니다. 그러나 필요할 때 `RestTemplate`인스턴스를 만드는 데 사용할 수있는 `RestTemplateBuilder`를 자동 구성 a 가 있습니다. 자동 구성된 `RestTemplateBuilder`을 사용하면 합리적인 방법`HttpMessageConverters`가 `RestTemplate`인스턴스에 적용됩니다 .

다음 코드는 일반적인 예를 보여줍니다.

```java
@Service
public class MyService {

	private final RestTemplate restTemplate;

	public MyService(RestTemplateBuilder restTemplateBuilder) {
		this.restTemplate = restTemplateBuilder.build();
	}

	public Details someRestCall(String name) {
		return this.restTemplate.getForObject("/{name}/details", Details.class, name);
	}

}
```

| ![\[팁\]](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/images/tip.png)                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `RestTemplateBuilder`에는 `RestTemplate`을 신속하게 구성하는 데 사용할 수있는 유용한 메소드가 많이 있습니다 . 예를 들어 BASIC 인증 지원을 추가하려면`builder.basicAuthentication("user", "password").build()`를 사용할 수 있습니다 . |

### <br>
