Ответ
RESTful-сервис — это веб-сервис, реализующий архитектурный стиль REST (Representational State Transfer). Его ключевая идея — взаимодействие с ресурсами через стандартные HTTP-методы.
Основные принципы:
- Ресурсы: Каждая сущность (пользователь, заказ) — это ресурс с уникальным идентификатором (URI), например,
/api/users/123. - HTTP-методы: Операции определяются методом запроса:
GET— получение ресурса.POST— создание нового ресурса.PUT/PATCH— полное или частичное обновление.DELETE— удаление ресурса.
- Stateless (Без состояния): Сервер не хранит состояние клиента между запросами. Каждый запрос содержит всю необходимую информацию.
- Представления ресурсов: Данные передаются в стандартных форматах, обычно JSON или XML.
Пример RESTful-эндпоинта на Spring Boot:
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping("/{id}") // GET /api/users/42
public ResponseEntity<User> getUser(@PathVariable Long id) {
User user = userService.findById(id);
return ResponseEntity.ok(user); // Возвращает JSON
}
@PostMapping // POST /api/users
public ResponseEntity<User> createUser(@RequestBody UserDto userDto) {
User created = userService.create(userDto);
return ResponseEntity.status(HttpStatus.CREATED).body(created);
}
}
Почему это важно: REST обеспечивает стандартизацию, простоту интеграции, масштабируемость и кэшируемость, что делает его доминирующим стилем для публичных API.