Wpis z mikrobloga

Czy ktoś ogarnia dlaczego aplikacji springboot'owa działa mi na localhost a na heroku wywala mi błąd ?

@Controller
public class Main {

@GetMapping("/")
public String helloWorld(){

return "Hello";
}

}

There was an unexpected error (type=Internal Server Error, status=500).
Error resolving template "Hello", template might not exist or might not be accessible by any of the configured Template Resolvers.

Sądziłem, że może jest jakiś problem z source/template i wrzucilem plik html do każdego folderu tj.
/source/
/source/template/
/source/static/

Nic nie dało

Ale jak zrobiłem w kontrolerze

@Controller
public class Main {

@RequestMapping("/")
@ResponseBody
public String helloWorld(){

return "Hello";
}

}

to wyświetla tekst...

Co robię nie tak?
#java
#heroku
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@robie_bota:

Anotacja @RequestMapping typ zwracany String domyślnie interpretuje jako nazwę widoku, który ma zwrócić (polecam dokumentację). Więc w pierwszym przypadku po requeście HTTP metoda helloWorld zwraca "Hello", Spring szuka template'u o takiej nazwie i najwyraźniej nie może znaleźć, więc wywala błąd.

Dodanie @ResponseBody informuje Springa, że od tej pory Stringa zwróconego przez tę metodę ma traktować nie jak nazwę widoku, tylko jako gotową odpowiedź, którą należy zwrócić w odpowiedzi
  • Odpowiedz
@nachteil: tzn ze działa na xampp'ie na localhost. problem rozwiązany w sumie zapomniałem napisać. Musiałem skonfigurować "source folder". Był skonfigurowany i myślałem, że wszystko jest ok, ale jak jak sprawdziłem właściwości "build path" to jeden folder nie znajdował się w src/main/resources tylko w resources.

Dzięki za zainteresowanie :)
  • Odpowiedz