🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

1回答

714閲覧

kotlinで記事を見ながらHelloWorldを出そうとしたところ、エラーが出ました

taku103

総合スコア7

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/12/23 09:17

編集2020/12/23 10:15

Hello Worldで躓きました。

前提・実現したいこと

HelloWorldを記事見ながら作っています。
記事に沿って作っていたところ、大量にエラーが出たのでそれを解決したいです。

以下の記事を参考に Spring Bootを使ってhello worldを出そうとしていたところ、9個ほどエラーが出ています。

該当のソースコード

HelloController.kt

Kotlin

1package com.example.testhello 2 3import org.springframework.stereotype.Controller 4import org.springframework.ui.Model 5import org.springframework.web.bind.annotation.PathVariable 6import org.springframework.web.bind.annotation.ResponseBody 7import org.springframework.web.bind.annotation.RequestMapping 8import org.springframework.web.bind.annotation.RequestMethod 9 10@Controller 11class HelloController { 12 13 @RequestMapping(value = ["/testhello"], method = [RequestMethod.GET]) 14 fun test_hello(): String { 15 return "testhello" 16 } 17} 18

testhello.html

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Hello</title> 6</head> 7<body> 8<p>Hello</p> 9</body> 10</html> 11

発生している問題・エラーメッセージ

上記までの状態でhttp://localhost:8080/testhelloにアクセスすると、下記のようなエラーが出ます。

There was an unexpected error (type=Internal Server Error, status=500).

さらにHelloControllerファイルのエラーを見ると、

error

1 2unresolve reference: stereotype 3unresolve reference: ui 4unresolve reference: web 5unresolve reference: web 6unresolve reference: web 7unresolve reference: web 8unresolve reference: Controller 9unresolve reference: RequestMapping 10unresolve reference: RequestMethod 11

と出ています。
おそらくimportできていないんだと思ったのですが、どこをどう直したらエラーが解決するかわかりません。

試したこと

以下のコードは正常に動くことを確かめました。

HelloController.kt

Kotlin

1package com.example.MovieReviewBoard 2 3import org.springframework.stereotype.Controller 4import org.springframework.ui.Model 5import org.springframework.web.bind.annotation.PathVariable 6import org.springframework.web.bind.annotation.ResponseBody 7import org.springframework.web.bind.annotation.RequestMapping 8import org.springframework.web.bind.annotation.RequestMethod 9//import org.springframework.web.bind.annotation.GetMapping; 10//import org.springframework.ui.set 11 12@Controller 13class HelloController { 14 @RequestMapping(value = ["/hello"], method = [RequestMethod.GET]) 15 @ResponseBody 16 fun hello_world(): String { 17 return "hello, world" 18 } 19}

理由としては@ResponseBodyをつけることによってhtmlファイルを呼び出していないためだと思われます。

補足情報(FW/ツールのバージョンなど)

ツール
Intellij IDEA

バージョン
spring boot 2.4.1
kotlin 1.4.21

以下、参考にした記事のリンクです。
https://qiita.com/niwasawa/items/fa6baf67dd8a24c3a593

初歩的な質問ですが、よろしくお願いします????‍♀️

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

記事に書いてあるバージョンと実際に利用しているバージョンがあっていないですよね。
バージョンはメジャーバージョンが同じなら偶然動くことはありますが、基本的には正確に一致しないと動かないと思ってください。

あともしかすると、個人のやってみた記事よりはこちらのほうが信頼性が高いかもしれません。
pleiadesはEclipseやIntellijの日本語化をしてるプロジェクトなんですが、この作者はKotlinを作っているJetbraisの社員になってたはずです。
https://spring.pleiades.io/guides/tutorials/spring-boot-kotlin/

投稿2020/12/24 00:44

rysh

総合スコア874

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問