Spring BootでWeb APIを0から学ぼう!(URLに含まれるパラメータを受け取る)

spring restful
Spring restful サービスを、実際にプロジェクトを作成するところから記録していきます。 細かく記録してますので、新たにspring restfulを学ぼうとしている方には、きっと参考になると思います。 ところどころでエラーがでた場合も、それも含めて記録してあります。 新たにspring restfulを学ぼうとしている方の役に立てられたら幸いです。
パラメータを受け取る方法ってどうやったらいいのかしら?
前回までは「指定のURLにアクセスすれば、文字を返す」方法を説明してきましたね。
今回は「URLに含まれるパラメータを受け取る方法」を学んでいきます。

例えば 「http://localhost:8080/hello-world/path-variable/Hello World, こんにちわ世界」 にアクセスすると 上記のようにURLに含まれたパラメータが返ってくることです。

実際のコードをみていきます

開発環境は以下のようになっています。
OS: Mac
IDE: STS→ダウンロード先はこちら
Java: java8
spring boot: 2.1.3.RELEASE

下記の「HelloWorldBean」は前回の記事で作成したものです。 フィールドには「message」、そして「message」を返すコンストラクタがあって、getter、setterがあるだけの簡単なBeanです。

次のコントローラを見てみましょう

String.format()は値を任意の形式に整形することができるメソッドですね。 “Hello World, %s”の「%s」の部分に「name」に設定された文字が入ります。

ここで注意しなくてはいけないことがあります。 @GetMapping(path = “/hello-world/path-variable/{name}”) public HelloWorldBean helloWorldPathVariable(@PathVariable String name) { 上記の2つの変数はちゃんと同じものでないとエラーが発生します。
例えば下記のように、「name」「name2」のようにしてアクセスしてみると

そうすると下記のような「Missing URI template variable ‘name2’ for method parameter of type String」=「タイプStringのメソッドパラメータのURIテンプレート変数 ‘name2’がありません」というエラーが発生します。 下記のようなエラーがでたら変数がちゃんと同じであるか確認しましょう。

 

今回は以上になります。 簡単ですよね
次回はGETで値を取得してみましょう

 

コメント

タイトルとURLをコピーしました