объясни rest-api --простыми-словами

REST API
Когда я впервые подключал свой AI к сервису, с которым никогда раньше не работал, я приготовился к новой кривой обучения. Ее не было. Все вело себя почти так же, как в прошлом сервисе, который я подключал. Та же форма, те же движения, другой логотип. Это не удача. Это REST.
API — это окно выдачи для машин: место, куда твой AI подходит и заказывает вещи из меню. Если бы каждый ресторан строил свое окно по-своему (другая высота, другой язык, другой способ показать на картошку фри), тебе пришлось бы заново учиться делать заказ в каждом месте. Утомительно. REST — это договоренность: строить свое окно примерно так же, как все остальные, чтобы никому не приходилось учиться заново.
Вся идея держится на двух простых частях.
- Все является "вещью", которая лежит по адресу. Твои заказы живут в /orders. Клиенты живут в /customers. Товар живет в /products. Каждый из них — существительное со своим местом, как проходы в супермаркете. Ты не говоришь "найди мне данные". Ты идешь в нужный проход.
- Ты действуешь с этими вещами через маленький фиксированный набор глаголов. Не сто кастомных команд. Просто несколько действий, которые ты и так применяешь к любым своим вещам:
- получить это (прочитать, что там есть)
- создать новое
- обновить существующее
- удалить одно
Сложи это вместе, и система читается почти как обычный язык. Иди в проход /orders, получи то, что там есть. Иди в проход /products, создай новый товар. Вся суть — в этой предсказуемости.
Думай об этом как о правилах дорожного движения. Красный — стой, зеленый — езжай, руль круглый, всю неделю он с одной и той же стороны машины. Ты не учишься водить заново, когда прилетаешь в новый город. Ты просто едешь. REST дает API такую же общую вежливость, чтобы мышечная память переносилась дальше.
Вот почему разработчик (или твой AI) может за день разобраться с совершенно новым сервисом и не вспотеть. Если это RESTful API, а большинство именно такие, они уже примерно знают, как он ведет себя, еще до первой страницы документации.
Где ты встретишь это слово. Кто-то скажет "у них есть REST API" или "он RESTful". Тебе просто сообщают:
- Эта штука следует нормальным, предсказуемым правилам.
- Твои инструменты, скорее всего, просто с ней заработают.
- Никому не нужно придумывать особое рукопожатие, чтобы с ней поговорить.
Это тихое маленькое обещание "здесь без сюрпризов". И все.
Тебе не нужно строить такой API и точно не нужно заучивать правила. Когда слышишь RESTful, слышь "ведет себя так, как ожидаешь". Когда слышишь, как кто-то ворчит, что API "не RESTful", слышь "уф, тут странная снежинка, придется учить ее причуды". Оба варианта сразу говорят, насколько тебе будет неприятно еще до начала.
Завтра: сами глаголы