blog

RestTemplate 1 - SpringまたはSpring以外の環境での使用方法

HTTPリクエストは、同期ブロッキングクライアントの実行であり、それはHTTPクライアントライブラリに基づいて、よりシンプルで使いやすいテンプレートメソッドのAPIをカプセル化します。...

Dec 12, 2020 · 3 min. read
シェア

RestTemplateとは??

RestTemplateは、HTTPリクエストの同期ブロッキングクライアントの実行であり、それはHTTPクライアントライブラリに基づいて、よりシンプルで簡単なテンプレートメソッドのAPIを使用するカプセル化されます。つまり、RestTemplateはパッケージですが、Javaアプリケーションの開発の基礎となる実装は、まだ一般的にHTTPクライアントの数の開発に使用されます。しかし、基礎となるHTTPクライアントライブラリを直接使用する相対的に、それはより便利で、高速で、主に開発効率を向上させることができます。

RestTemplateクラスは、HTTPメソッドのオーバーロードメソッドを提供することにより、HTTPベースのWebサービスにアクセスするための非常に便利な方法を提供します。あなたのWebサービスのAPIは、標準的なRESTfulスタイルの設計に基づいている場合、効果の使用はより完璧になります。

Springの公式ドキュメントとソースコードによると、Spring 5でノンブロッキングのReactive HTTPクライアントとしてWebClientを導入したので、RestTemplateは将来のリリースで非推奨になるかもしれませんが、Spring CloudなどSpringコミュニティの多くのプロジェクトにとってRestTemplateはまだ「重い依存関係」です。しかし、RestTemplateはSpring CloudなどSpringコミュニティの多くのプロジェクトで未だに重依存であり、RestTemplateはクライアントサイドのAPIラッパーなので、ノンブロッキングReactiveプログラミングの必要性はサーバーサイドほど高くありません。ノンブロッキングReactiveプログラミングの需要は、サーバーサイドに比べてそれほど高くありません。

Spring以外の環境でのRestTemplateの使用

JSONPlaceholder、無料のオンラインREST APIを提供するWebサイトで、このAPIを使用して、ネットワークリクエストやリクエストパラメータをテストすることができます。また、プログラムがいくつかのシミュレーションデータを取得する必要がある場合、シミュレーションイメージも使用できます。

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-web</artifactId>
 <version>5.2.6.RELEASE</version>
</dependency>

テスト Hello world, RestTemplateを使用してGETリクエストを送信し、リクエストから得られたJSONデータの結果を出力します。

@Test
public void simpleTest()
{
 RestTemplate restTemplate = new RestTemplate();
 String url = "http://..com/posts/1";
 String str = restTemplate.getForObject(url, String.class);
 System.out.println(str);
}

サーバー側はJSONPlaceholderのWebサイトで、サーバー側のAPIを提供するのに役立ちます。 注意すべき点は、"jsonplaceholder.typicode.com/posts/1"というサービスのURLで、URLにpostsという単語がありますが、その英語の意味はHTTPではなく、投稿やお知らせです。投稿プロトコル。つまり、"jsonplaceholder.typicode.com/posts/1"は、要求されたデータは: id 1の投稿アナウンスリソースです。印刷結果は以下のようになります:

ここでは、RestTemplateの最も基本的な使い方を示します。RestTemplateは、連載記事として書いていきますので、注目してください。

Spring環境でのRestTemplateの使用

mavenの座標をspring-webからspring-boot-starter-webに変更します。

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>

RestTemplate構成をBeanとして初期化します。この初期化メソッドは、基礎となるHTTPクライアント実装としてJDK独自のHttpURLConnectionを使用します。後続の章で説明するように、基礎となる実装を Apache HttpComponents や okHttp などに切り替えることもできます。

@Configuration
public class ContextConfig {
 //デフォルトでは、JDKはHttpURLConnectionを基本実装としている。
 @Bean
 public RestTemplate restTemplate(){
 RestTemplate restTemplate = new RestTemplate();
 return restTemplate;
 }
}
 @Resource //@AutoWired
 private RestTemplate restTemplate;
Read next

ハリス特徴点検出器

画像処理の分野では、特徴点は、通常、回転不変性、光不変性、視点不変性などの利点を持ち、画像の重要な特徴の1つであり、ターゲットマッチング、ターゲット追跡、3D再構成などのアプリケーションでよく使用されます。点特徴量とは、主に画像内の目立つ点、エッジの端点、極端な点などを指します。点特徴量の抽出に用いられる演算子は、注目点抽出演算子と呼ばれます。

Dec 12, 2020 · 10 min read