Spring-boot-building-restful-web-services
Spring Boot-RESTful Webサービスの構築
Spring Boot provides a very good support to building RESTful Web Services for enterprise applications. This chapter will explain in detail about building RESTful web services using Spring Boot.
注-RESTful Webサービスを構築するには、Spring Boot Starter Web依存関係をビルド構成ファイルに追加する必要があります。
Mavenユーザーの場合、次のコードを使用して、 pom.xml ファイルに以下の依存関係を追加します-
Gradleユーザーの場合、次のコードを使用して、 build.gradle ファイルに以下の依存関係を追加します。
完全なビルド構成ファイル Mavenビルドのコード– pom.xml は以下のとおりです-
完全なビルド構成ファイル Gradle Build – build.gradle のコードを以下に示します-
RESTful Webサービスの構築に進む前に、次の注釈の知識があることが推奨されます-
レストコントローラー
@RestControllerアノテーションは、RESTful Webサービスを定義するために使用されます。 JSON、XML、カスタムレスポンスを提供します。 その構文は以下に示されています-
リクエストマッピング
@RequestMappingアノテーションは、RESTエンドポイントにアクセスするためのリクエストURIを定義するために使用されます。 Requestメソッドを定義して、オブジェクトを消費および生成できます。 デフォルトの要求方法はGETです。
リクエスト本文
@RequestBody注釈は、リクエスト本文のコンテンツタイプを定義するために使用されます。
パス変数
@PathVariableアノテーションは、カスタムまたは動的なリクエストURIを定義するために使用されます。 要求URIのPath変数は、以下に示すように中括弧\ {}として定義されます-
リクエストパラメータ
@RequestParamアノテーションは、リクエストURLからリクエストパラメータを読み取るために使用されます。 デフォルトでは、これは必須パラメーターです。 ここに示すように、リクエストパラメータのデフォルト値を設定することもできます-
GET API
デフォルトのHTTP要求メソッドはGETです。 このメソッドには、リクエストボディは必要ありません。 リクエストパラメータとパス変数を送信して、カスタムURLまたは動的URLを定義できます。
HTTP GETリクエストメソッドを定義するサンプルコードを以下に示します。 この例では、HashMapを使用して製品を保存しました。 格納する製品としてPOJOクラスを使用したことに注意してください。
ここでは、リクエストURIは /products であり、HashMapリポジトリから製品のリストを返します。 GETメソッドRESTエンドポイントを含むコントローラークラスファイルを以下に示します。
POST API
HTTP POSTリクエストは、リソースを作成するために使用されます。 このメソッドにはリクエストボディが含まれます。 リクエストパラメータとパス変数を送信して、カスタムURLまたは動的URLを定義できます。
次の例は、HTTP POST要求メソッドを定義するサンプルコードを示しています。 この例では、HashMapを使用して製品を保存しました。製品はPOJOクラスです。
ここでは、リクエストURIは /products であり、製品をHashMapリポジトリに保存した後にStringを返します。
PUT API
HTTP PUT要求は、既存のリソースを更新するために使用されます。 このメソッドにはリクエストボディが含まれます。 リクエストパラメータとパス変数を送信して、カスタムURLまたは動的URLを定義できます。
以下の例は、HTTP PUT要求メソッドを定義する方法を示しています。 この例では、HashMapを使用して既存の製品を更新しました。製品はPOJOクラスです。
ここで、リクエストURIは /products/\ {id} であり、製品の後にHashMapリポジトリに文字列を返します。 更新が必要な製品IDを定義するPath変数 \ {id} を使用したことに注意してください。
DELETE API
HTTP削除リクエストは、既存のリソースを削除するために使用されます。 このメソッドには、リクエストボディは含まれていません。 リクエストパラメータとパス変数を送信して、カスタムURLまたは動的URLを定義できます。
以下の例は、HTTP DELETE要求メソッドを定義する方法を示しています。 この例では、HashMapを使用して、POJOクラスである既存の製品を削除しました。
リクエストURIは /products/\ {id} であり、HashMapリポジトリから製品を削除した後に文字列を返します。 削除する必要がある製品IDを定義するPath変数 \ {id} を使用しました。
このセクションでは、ソースコードの完全なセットを提供します。 それぞれの機能について次のコードを確認してください-
あなたは、実行可能なJARファイルを作成し、示されているように以下のMavenまたはGradleコマンドを使用してスプリングブートアプリケーションを実行することができます
Mavenの場合、以下に示すコマンドを使用します-
「BUILD SUCCESS」の後、ターゲットディレクトリの下にJARファイルがあります。
Gradleの場合、以下に示すコマンドを使用します-
「BUILD SUCCESSFUL」の後、build/libsディレクトリの下にJARファイルがあります。
以下に示すコマンドを使用して、JARファイルを実行できます-
これは、以下に示すようにTomcatポート8080でアプリケーションを開始します-
次に、POSTMANアプリケーションで次のURLにアクセスして、出力を確認します。
GET API URLは: http://localhost:8080/products
POSTMAN Application Get API URL
POST API URL: http://localhost:8080/products
POSTMAN Application Post API URL
PUT API URL: http://localhost:8080/products/3
POSTMAN Application Put API URL
DELETE API URL: http://localhost:8080/products/3