Sobes.tech
Junior

REST эмне?

sobes.tech AI

AIден жооп

REST (Representational State Transfer) — бул бөлүштүрүлгөн системдерди куруу үчүн архитектуралык стиль, негизинен веб кызматтарды долбоорлоодо колдонулат. Ал принциптер жана чектөөлөрдүн топтомуна негизделген, алар веб-ресурстардын бири-бири менен өз ара аракеттенүүсүн аныктайт:

RESTтин негизги принциптери:

  • Клиент-сервер: Кардар менен сервердин милдеттерин так бөлүү.
  • Stateless (абалсыз): Сервер кардардын абалын сактабайт, ар бир суроо өзүнүн ичинде бардык керектүү маалыматтарды камтыйт.
  • Cacheable (кэшке коюуга болот): Кардарлар сервердин жоопторун кэшке коюп, иштөө ылдамдыгын жогорулатышы мүмкүн. Сервер жоопту кэштөө мүмкүнчүлүгүн так көрсөтөт.
  • Layered System (катмарланган система): Кардар аралык катмары менен иштеше алат (мисалы, прокси, жүктү теңдештирүүчү), аны билбестен.
  • Code on Demand (талапка код) — optional: Сервер кардарга ишке ашырылуучу кодду (мисалы, JavaScript) жиберип, кардардын функционалдуулугун кеңейтет.
  • Uniform Interface (бирдей интерфейс): эң маанилүү принцип, ал төмөнкү чектөөлөрдү камтыйт:
    • Ресурстарды идентификациялоо (URI).
    • Ресурстарды көрсөтүүлөр аркылуу иштетүү (модельдөө, маалымат алмашуу белгилүү форматта, мисалы JSON, XML).
    • Өзүн-өзү сүрөттөөчү билдирүүлөр (билдирүүлөрдө алардын түшүнүшү үчүн бардык керектүү маалыматтар бар).
    • HATEOAS (Hypermedia as the Engine of Application State): кардар сервердин жоопторундагы гиперсылтамдарды колдонуп, программалык абалдар арасында өтөт.

RESTful API — бул REST стилинин веб-усулдар үчүн ишке ашырылышы, ал стандарттуу HTTP ыкмаларын (GET, POST, PUT, DELETE) колдонуп, ресурстар менен иштейт:

// RESTful APIда HTTP ыкмаларын колдонуу мисалы
// Ресурс алуу
// GET /api/products/1

// Ресурс түзүү
// POST /api/products
// Body: { "name": "New Product", "price": 10.50 }

// Ресурс жаңылоо
// PUT /api/products/1
// Body: { "name": "Updated Product", "price": 11.00 }

// Ресурс жоюу
// DELETE /api/products/1