Встречается на собеседованиях • сегодня
Какие знаешь способы создания контроллера, кроме @Controller
В Spring можно использовать несколько аннотаций для создания контроллера:
1. `@RestController` - комбинация `@Controller` и `@ResponseBody`, упрощает создание REST API:
```java
@RestController
public class MyRestController {
@GetMapping("/api")
public String getData() {
return "Hello";
}
}
```
2. `@RequestMapping` - более гибкий вариант, можно применять на уровне класса:
```java
@RestController
@RequestMapping("/api/v2")
public class MyController {
// ...
}
```
3. Функциональные контроллеры (WebFlux) - без аннотаций, через RouterFunctions:
```java
@Configuration
public class RouterConfig {
@Bean
public RouterFunction route() {
return RouterFunctions.route(
GET("/functional"),
request -> ok().body("Functional!"));
}
}
```
4. `@ControllerAdvice` - для глобальной обработки исключений (хотя это не совсем контроллер).
Основное отличие `@RestController` от `@Controller` - автоматическое добавление `@ResponseBody` ко всем методам.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы