Вопрос проверяет понимание принципов REST и роли HTTP-методов в архитектуре API.
API, использующее только GET-запросы, обычно нельзя считать полноценным REST API. REST предполагает использование разных HTTP-методов для разных операций над ресурсами. GET предназначен только для получения данных. Если все операции выполняются через GET, нарушается семантика протокола и принципы REST.
REST предполагает, что разные операции над ресурсами выполняются разными HTTP-методами.
Определение:
HTTP-метод — это способ указать серверу, какое действие нужно выполнить над ресурсом.
Типичное распределение:
GET — чтение
POST — создание
PUT или PATCH — изменение
DELETE — удаление
Если используется только GET:
невозможно корректно выразить изменение состояния
нарушается смысл протокола
Основные проблемы:
Кэширование
Прокси и браузеры могут кэшировать GET-запросы.
Безопасность
GET может сохраняться в истории браузера и логах.
Семантика
GET должен быть безопасным и не изменять состояние.
Иногда API действительно только читает данные:
справочники
публичные данные
В таком случае использование только GET корректно, но это частный случай, а не общий принцип REST.
API, состоящее только из GET-запросов, может быть REST-подобным, но не реализует полноценно принципы REST, так как отсутствуют операции изменения ресурсов.