Вопрос проверяет понимание того, как HTTP-запросы сопоставляются с методами контроллера в Spring.
@RequestMapping используется для связывания HTTP-запросов с методами контроллера. Она определяет путь запроса и тип HTTP-метода. Аннотация может применяться как к классу, так и к отдельным методам. Это базовый механизм маршрутизации в Spring MVC.
В backend-приложениях важно понимать, какой код обрабатывает конкретный HTTP-запрос. В Spring за это отвечает @RequestMapping.
@RequestMappingОпределение:@RequestMapping — это аннотация, которая связывает URL-адрес и HTTP-метод с методом контроллера.
Она позволяет:
указать путь запроса
указать HTTP-метод (GET, POST и т.д.)
задать дополнительные параметры (headers, consumes, produces)
Если аннотация стоит над классом, она задаёт общий префикс для всех методов:
@RestController
@RequestMapping("/users")
public class UserController {
// все методы начинаются с /users
}
На уровне метода она связывает конкретный endpoint с кодом:
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public User getUser(@PathVariable Long id) {
return userService.findById(id);
}
В реальных проектах чаще используют специализированные аннотации:
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
Они являются сокращёнными версиями @RequestMapping.
@RequestMapping — базовая аннотация маршрутизации в Spring. Сейчас её редко используют напрямую, но понимание её работы обязательно, так как все специализированные аннотации построены на её основе.