Дуже багато сказано й написано про REST та RESTful microservices но я бачу дуже багато людей які не мають базового розуміння що таке REST й чомусь вважають що REST це про CRUD операції над колекціями.
Ото ж вперще REST ( Representational state transfer) архітектура була описана в дисертації [Roy Thomas Fielding](http://www.ics.uci.edu/~fielding/) https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm в 2000 році
В основі є 6 обмежень
- Уніфікований та єдиний доступ до ресурсів
- відсутність стану (stateless)
- client-server архітектура
- кешуваня ресурсів
- наявність леєрної архітектури - клієнт реально може не знати чи звертається до конкретного сервера чи до інфраструктурного слою що забезпечує балансування , кешуваня чи безпеку
- розширення клієнта кодом на ходу - дуже потужна концепція я вже в свому попередньому відео розповідав про federated apps https://www.youtube.com/watch?v=GaxOtrfRfRc
також поговоримо про https://restfulapi.net/richardson-maturity-model/
Як максимальне застосування цієї моделі є HATEOAS (Hypermedia as the Engine of Application State)
Отож гіпер медіа - це медіаконтент на стероїдах з метаданими які розповідають як з цими даними себе поводити.
Є багато прикладних моделей на які варто звернути увагу
- HAL https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-00
- SIREN https://github.com/kevinswiber/siren
- https://jsonapi.org/
- Atom https://datatracker.ietf.org/doc/html/rfc5023
розгорнути опис
згорнути опис