Spring boot-エラーは出ないが404 Whitelabel Error Pageに飛ばされる


Spring起動→サーバーアクセス反応なし

この質問への回答。

私がいつもどおりプロジェクトを作って質問と同様のコードを記述し、いつもの「resouces/templates」にそれっぽいファイルつくって放り込んでみたら動いた。
で、どうにか同じ状況が再現しないか色々いじってたところ、どうやらThymeleafを依存関係にいれていないと404になるらしい。

Spring BootはThymeleafやらのテンプレートエンジンとセットで使うものだという前提で考えていたのでThymeleaf無しで動かすときのことなんて考えたこと無かった

でドキュメント確認。以下が公式のドキュメント
Spring Boot features-27.1.8 Template engines

27.1.8 Template enginesのtipの辺りを眺める限り、テンプレートエンジンを使う場合は、src/main/resources/templatesフォルダを自動的に見てくれる。
つまり当然のように使っていた/templatesフォルダはテンプレートエンジンを使う時しか見てくれないというわけか。
jspならapplication.propertiesに参照先設定、そうでないなら静的ページとして置いておくしかないか。

コピペコードでうまく動かないって焦るよなぁ。
別の回答者の方がコンソールを比較してくれていたがこのあたり自分で気が付くのはなかなか難しそうだ。

ついでに静的ページについては27.1.5 Static Contentに描いてある
Spring Boot features-27.1.5 Static Content
/staticか/publicか/resourcesか/META-INF/resourcesを見ると。まぁこの辺は経験則的になんとなく。
確かにThymeleafを依存関係に追加していなくてもここにおいたhtmlは見れる。

ここTeratail日記みたいな感じになってるな・・・。


あわせて読みたい