【Spring MVC】RestTemplateの導入

概要

RESTfulなAPIを呼ぶクライアントライブラリである、RestTemplateの概要についてまとめた。
RestTemplateを使用するための準備と、どんなメソッドがあるのかを紹介している。

 

RestTemplate

RestTemplateはHTTPリクエストを送信できる。
また、メッセージコンバーターを内包しているため、JSONやXMLなどのレスポンスを適切なオブジェクトにマッピングできる。

※Spring6系では新規機能が追加されず、今後は非推奨となるため注意。今後のSpringの新しいバージョンでは、RestTemplateの代わりにWebClientを使用することになる。

 

必要ライブラリ

RestTemplateを使用するためには、spring-webライブラリをpom.xmlに追加する必要がある。
※spring-webmvcにspring-webも含まれるため、以下でも可能

 

pom.xml


<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
	<version>5.1.20.RELEASE</version>
</dependency>

 

Bean定義

RestTemplateをDIするためには、Bean定義が必要となる。

 

applicationContext.xml


<!-- RestTemplate の Bean 定義 -->
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate"/>

 

 

主なメソッド

RestTemplateには、HTTP メソッドごとに様々な API が用意されている。

 

メソッド 説明
getForObject GET リクエストを送信し、レスポンスをオブジェクトとして取得
getForEntity GET リクエストを送信し、ResponseEntity を取得
postForObject POST リクエストを送信し、レスポンスをオブジェクトとして取得
postForEntity POST リクエストを送信し、ResponseEntity を取得
put PUT リクエストを送信
delete DELETE リクエストを送信
exchange 任意の HTTP メソッドでリクエストを送信し、ResponseEntity を取得

 

まとめ

 

☑ RestTemplateを利用することで、HTTPリクエストを送信可能

☑ RestTemplateを使用するには、spring-webライブラリを導入する

☑ メッセージコンバーターを内包しており、JSONやXMLなどのレスポンスを適切なオブジェクトにマッピングできる

スポンサーリンク