概要
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などのレスポンスを適切なオブジェクトにマッピングできる