По всем вопросам- @notxxx1
Реестр РКН: https://clck.ru/3Fk3kb
#VRHSZ
Post #1585
5.46K

𝟵𝟬% API на самом деле НЕ RESTful — и почти всегда по одной причине 👇
По модели зрелости Ричардсона REST имеет 4 уровня:
• 0 — просто один эндпоинт, всё через XML/JSON
• 1 — ресурсы с разными URI
• 2 — корректное использование HTTP-методов
• 3 — HATEOAS, когда сам API подсказывает клиенту, какие действия доступны дальше
Проблема в том, что большинство сервисов останавливаются на уровне 2 — то есть формально используют GET/POST/PUT/DELETE, но не дают клиенту навигации через гипермедиа.
Почему почти никто не добавляет HATEOAS:
1. Нужно больше кода
2. Вырастают ответы
3. Нет жёсткого стандарта, как это оформлять
4. Клиент усложняется
5. Кажется оверинжинирингом
Но что происходит без него?
1. Клиент и сервер становятся жёстко связаны
2. Бизнес-логика дублируется на клиенте
3. API плохо открывается и не подсказывает, как по нему ходить
HATEOAS — не обязательный компонент, но именно он делает API настоящим REST, а не просто HTTP поверх JSON.
Здесь разбор, когда это действительно важно и когда нет.
По модели зрелости Ричардсона REST имеет 4 уровня:
• 0 — просто один эндпоинт, всё через XML/JSON
• 1 — ресурсы с разными URI
• 2 — корректное использование HTTP-методов
• 3 — HATEOAS, когда сам API подсказывает клиенту, какие действия доступны дальше
Проблема в том, что большинство сервисов останавливаются на уровне 2 — то есть формально используют GET/POST/PUT/DELETE, но не дают клиенту навигации через гипермедиа.
Почему почти никто не добавляет HATEOAS:
1. Нужно больше кода
2. Вырастают ответы
3. Нет жёсткого стандарта, как это оформлять
4. Клиент усложняется
5. Кажется оверинжинирингом
Но что происходит без него?
1. Клиент и сервер становятся жёстко связаны
2. Бизнес-логика дублируется на клиенте
3. API плохо открывается и не подсказывает, как по нему ходить
HATEOAS — не обязательный компонент, но именно он делает API настоящим REST, а не просто HTTP поверх JSON.
Здесь разбор, когда это действительно важно и когда нет.














