Junior — Middle
70
Объясните, каким образом осуществляется маршрутизация запросов с помощью аннотации @RequestMapping в Spring?
Ответ от нейросети
sobes.tech AI
Аннотация @RequestMapping в Spring используется для маршрутизации HTTP-запросов к методам контроллера. Она связывает URL-путь и HTTP-метод с конкретным методом в классе.
Принцип работы:
@RequestMappingможно применять как на уровне класса, так и на уровне метода.- На уровне класса задаётся базовый путь, а на уровне метода — конкретные подмаршруты.
- Аннотация позволяет указать путь (
valueилиpath), HTTP-методы (method), заголовки, параметры и другие условия.
Пример:
@RestController
@RequestMapping("/users") // базовый путь для всех методов этого контроллера
public class UserController {
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public User getUser(@PathVariable("id") String userId) {
// обработка GET-запроса по пути /users/{id}
return userService.findUserById(userId);
}
@RequestMapping(method = RequestMethod.POST)
public User createUser(@RequestBody User user) {
// обработка POST-запроса по пути /users
return userService.createUser(user);
}
}
Таким образом, при поступлении HTTP-запроса Spring ищет метод с подходящей аннотацией @RequestMapping, соответствующей пути и HTTP-методу, и вызывает его для обработки запроса.