■Groovyのコントローラークラスの仕組み
今回作成したapp.groovyでは、MyBootAppというObject継承のシンプルなクラスがあるだけでした。なぜ、これだけでWebアプリになったのか。それは、用意されているアノテーションに秘密があります。
●@RestController
これは、クラスに付けられるアノテーションで、このクラスが「RestController」というものであることを示すものです。RestControllerは、Spring MVCにあるコントローラー用の機能で、その名前から想像がつくようにRESTfulなアプリケーションを作成する際に用いるコントローラーを示すものです。
この@RestControllerをつけると、このクラスがHTTPリクエストを受けて、ボディをもったレスポンスを返す機能(要するにコントローラー)を持つものであることを認識します。要するに「@RestControllerをつければ、そのクラスはREST用のコントローラーとして自動的に認識される」というわけです。
RESTfulなサービスの構築についてはまたいろいろ考えないといけないので、ここでは単純に「指定アドレスにアクセスすれば何らかの結果が返る」という処理を行うコントローラー、という程度に考えておきましょう。
●@RequestMapping("/")
これは、メソッドに付けられるもので、そのメソッドを特定のURLにマッピングするためのアノテーションです。例えば、ここでは引数に"/"と指定していますね。これにより、そのドメインのルート(/)にアクセスしたら、このメソッドが呼び出されるようになります。
このアノテーションは、クラス内にいくつでもつけることができます。ですから、アクセスするアドレスごとに出力内容を返すメソッドを用意しておき、それぞれに@RequestMappingでアドレスを設定すれば、それだけで簡単なWebアプリは作れてしまう、というわけです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
@RestController
class MyBootApp {
@RequestMapping("/")
def top() {
"Hello Spring Boot!!"
}
}
記事のリストに戻る