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

Какие знаешь ограничения на REST сервисы

REST сервисы имеют несколько ключевых ограничений:

  1. Stateless – сервер не хранит состояние клиента между запросами. Каждый запрос должен содержать всю необходимую информацию.
  2. Кэширование – ответы должны явно указывать, можно ли их кэшировать.
  3. Единообразие интерфейса – стандартные HTTP методы (GET, POST, PUT, DELETE) и четкие URI для ресурсов.
  4. Клиент-серверная архитектура – разделение клиента и сервера для независимого масштабирования.
  5. Слои – клиент не знает, подключен ли он напрямую к серверу или через промежуточные узлы.

Пример нарушения stateless:

java
// Плохо: сервер хранит сессию
@GetMapping("/cart")
public Cart getCart(HttpSession session) {
    return (Cart) session.getAttribute("cart");
}

Лучше передавать состояние в запросе:

java
@GetMapping("/cart/{cartId}")
public Cart getCart(@PathVariable String cartId) {
    return cartService.findById(cartId);
}

REST не подходит для реального времени (WebSocket лучше) и сложных транзакций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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