Ein Anfänger, der mit Thymeleaf arbeitet, wollte den Unterschied im Verhalten zwischen @Controller und @RestController kennen, also habe ich ihn untersucht.
Starten Sie sprintboot und greifen Sie auf die folgende URL zu. http://localhost:8080/〇〇
@ Controller
Mit Code wie unten http://localhost:8080/list Wenn Sie zugreifen main/resources/templates/list_display.html Das HTML von wird auf dem Bildschirm angezeigt. (Die Zeichenkette "list_display" wird nicht so angezeigt wie sie ist)
@Controller
public class AppController {
@GetMapping("list")
public String from_list(){
return "list_display";
}
}
@ RestController
Erstellen Sie andererseits die folgende Controller-Datei und erstellen Sie sie mit @RestController. http://localhost:8080/person Wenn Sie zugreifen
@RestController
public class SampleController {
@GetMapping("person")
public Person person() {
return new Person(123, "hogehoge", 40);
}
}
Die folgende Zeichenfolge wird unverändert zurückgegeben. {"id":123,"name":"hogehoge","age":40}
(Erstellen Sie eine separate Personenklasse wie die folgende)
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Data
public class Person {
Integer id;
String name;
Integer age;
}
--Wenn Sie die HTML-Datei in resource / auf dem Bildschirm anzeigen möchten, @RestController
Lassen Sie uns verwenden.
»Es ist einfach, aber ich habe es für mein eigenes Memorandum zusammengestellt.
Recommended Posts