Ответ
Spring Web — это модуль Spring Framework для создания веб-приложений. Он предоставляет абстракции и инструменты для обработки HTTP-запросов, построения REST API и реализации MVC-архитектуры.
Ключевые возможности:
- Аннотации для маппинга запросов:
@Controller,@RestController,@RequestMapping,@GetMapping,@PostMappingи др. - Обработка данных запроса/ответа: Автоматическое преобразование JSON/XML через
HttpMessageConverter, работа с параметрами (@RequestParam,@PathVariable). - Валидация: Интеграция с Bean Validation через аннотацию
@Valid. - Модель представления: Передача данных в шаблоны (Thymeleaf, JSP) через объект
Model. - Обработка исключений: Централизованная обработка с помощью
@ControllerAdviceи@ExceptionHandler.
Пример REST-контроллера:
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping("/{id}")
public ResponseEntity<User> getUser(@PathVariable Long id) {
// Логика получения пользователя
return ResponseEntity.ok(user);
}
@PostMapping
public ResponseEntity<User> createUser(@RequestBody @Valid UserDto userDto) {
// Логика создания пользователя
return ResponseEntity.status(HttpStatus.CREATED).body(createdUser);
}
}
Почему это важно: Spring Web инкапсулирует низкоуровневые детали сервлетов, позволяя разработчику фокусироваться на бизнес-логике с помощью декларативного подхода (аннотаций).