スポンサーリンク

アノテーション

SpringBootの@Controllerと @RestControllerについて。違いは?

投稿日:2021年3月24日 更新日:

SpringBootの@Controllerとは?

まずは、公式Javadocを見てみます。

アノテーション付きのクラスが「コントローラー」(たとえば、Web コントローラー)であることを示します。
このアノテーションは @Component の特殊化として機能し、クラスパススキャンを通じて実装クラスを自動検出できます。通常、RequestMapping アノテーションに基づくアノテーション付きハンドラーメソッドと組み合わせて使用されます。

アノテーション型 Controller

SpringBootの@RestControllerとは?

まずは、公式Javadocを見てみます。

@Controller および @ResponseBody でアノテーションが付けられている便利なアノテーション。
このアノテーションを保持する型は、@RequestMapping メソッドがデフォルトで @ResponseBody セマンティクスを想定するコントローラーとして扱われます。

アノテーション型 RestController

SpringBootの@Controllerと @RestControllerの違いは?

SpringBootの@Controllerと @RestControllerはどちらを使うべき?

Thymeleafによって生成されるHTMLをレスポンスする場合は、@Controllerを使います。JSONやXMLをレスポンスするようなAPI形式の場合は、@RestControllerを使うのが適切です。

但し、実案件では@RestControllerの存在を知らずに、API形式の場合でも@Controllerを使っているケースはよくあります。

Udemyのハンズオン動画講座でSpringBootのスキルを磨く!

スポンサーリンク

-アノテーション

Copyright© 【Spring Hack】 , 2022 All Rights Reserved Powered by AFFINGER5.