Junior — Middle
85
Spring-де @Controller және @RestController аннотацияларының айырмашылығы неде?
Сұралған компаниялар
Ви6 Сервисес
Secreate
AI-дан жауап
sobes.tech AI
Аннотация @Controller в Spring используется для обозначения класса как контроллера в MVC-приложении. Методы такого контроллера обычно возвращают имя представления (view), которое будет отрендерено.
Аннотация @RestController — это специализированный вариант @Controller, которая автоматически добавляет аннотацию @ResponseBody ко всем методам класса. Это значит, что методы возвращают данные (обычно в формате JSON или XML) напрямую в тело HTTP-ответа, а не имя представления.
Пример:
@RestController
public class MyRestController {
@GetMapping("/api/data")
public MyData getData() {
return new MyData("value"); // будет сериализовано в JSON
}
}
@Controller
public class MyController {
@GetMapping("/page")
public String getPage() {
return "pageView"; // имя шаблона для рендеринга
}
}