TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1544 1.82K
Разные подходы к структуре REST API:

1) Чистый CRUD-стиль

GET /users  
POST /users
PUT /users/{id}
DELETE /users/{id}


👍 Просто и предсказуемо
👎 Начинает хромать при действиях вне CRUD

2) Эндпоинты-действия

POST /users/{id}/deactivate  
POST /orders/{id}/cancel


👍 Ясное указание на сайд-эффекты
👎 Нарушает REST-идеи (глаголы в URL)

3) Вложенные ресурсы

GET /users/{id}/orders  
POST /users/{id}/addresses


👍 Удобно моделирует связи между сущностями
👎 Может вырасти в избыточную иерархию, тяжело поддерживать

4) Плоская структура + фильтры

GET /orders?userId=123  
GET /products?category=books&page=2


👍 Гибкие запросы
👎 Требует строгой валидации query-параметров

5) Версионирование API

GET /v1/users  
Accept: application/vnd.myapp.v2+json


👍 Безопасное развитие API
👎 Увеличивает накладные расходы на поддержку

👉 Java Portal
  • ❤ 6
  • 👍 4
  • 🔥 1
More from @java_iibrary
  1. Oct 2, 2026🚀 Spring Boot 4: переименовано свойство преобразования исключений ✅ Было: spring.dao.exce…
  2. Oct 2, 2026Процесс ≠ Поток ≠ Виртуальный поток. Эти понятия часто путают, хотя они решают разные зада…
  3. Oct 1, 2026Когда Java-стектрейс оказался длиннее контекста ИИ 👀 👉 Java Portal
  4. Oct 1, 2026Spring Boot 4: приближение срока истечения SSL-сертификатов больше не меняет статус health…
  5. Sep 30, 2026Почему один и тот же Java-файл .class запускается на Windows, Linux и macOS без перекомпил…
  6. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →