Встречается на собеседованиях • сегодня

Должны ли у контроллера быть методы для взаимодействия с ним

Контроллер в Spring (например, `@RestController`) должен содержать методы для обработки HTTP-запросов (GET, POST и т.д.), но не должен напрямую взаимодействовать с базой данных или бизнес-логикой. Вместо этого он делегирует вызовы сервисному слою. Пример правильного подхода: ```java @RestController @RequestMapping("/api/users") public class UserController { private final UserService userService; @Autowired public UserController(UserService userService) { this.userService = userService; } @GetMapping("/{id}") public ResponseEntity getUser(@PathVariable Long id) { return ResponseEntity.ok(userService.getUserById(id)); } } ``` Контроллер должен: 1. Принимать HTTP-запросы 2. Валидировать входные данные 3. Преобразовывать DTO 4. Возвращать HTTP-ответы Не должен: 1. Содержать бизнес-логику 2. Работать напрямую с БД 3. Иметь сложную обработку данных
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы