Sobes.tech
Junior

REST-ке багытталган архитектура (ROA) деген эмне?

sobes.tech AI

AIден жооп

REST-ке негизделген архитектура (Rепрезентативдүү Sтат Tрансфер) — бул бөлүштүрүлгөн системалар үчүн архитектуралык стиль, ал ресурстарды аныктоо жана кардар менен сервердин өз ара аракеттенүүсүнүн жолдорун аныктоочу принциптердин топтому.

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

  1. Клиент-сервер (Client-Server): Жоопкерчиликтер аймактарын бөлүү. Кардар колдонуучу интерфейсине, сервер — маалыматтарды сактоо жана иштетүүгө жооптуу.
  2. Статусту жокко чыгаруу (Stateless): Кардардан келген ар бир суроо серверге анын иштетилиши үчүн керектүү бардык маалыматтарды камтышы керек. Сервер кардардын абалын суроолор аралыгында сактабайт.
  3. Кэшке коюу мүмкүнчүлүгү (Cacheable): Кардарлар жана аралык түйүндөр сервердин жоопторун кэшке коюшу мүмкүн, бул иштөөчөндүктү жана масштабдуулукту жогорулатат.
  4. Бирдиктүү интерфейс (Uniform Interface):
    • Ресурстарды аныктоо (Identification of resources): Ресурстар URL аркылуу так аныкталат.
    • Ресурстарды көрсөтүү аркылуу иштетүү (Manipulation of resources through representations): Кардар ресурстарды көрсөтүү аркылуу иштете алат (мисалы, JSON, XML).
    • Өзүн-өзү сүрөттөөчү билдирүүлөр (Self-descriptive messages): Ар бир билдирүү анын иштетилишин түшүнүү үчүн жетиштүү маалыматты камтыйт.
    • Гипермедиа аркылуу колдонмо абалын башкаруу (Hypermedia as the Engine of Application State - HATEOAS): Кардар сервердин жоопторунда берилген гиперссылтемелер аркылуу гана өз ара аракеттенет.
  5. Катмарланган система (Layered System): Система катмарларга уюштурулушу мүмкүн (мисалы, прокси, шлюздер), жана ар бир компонент гана кийинки катмарды көрөт, анын менен өз ара аракеттенет.
  6. Талап боюнча код (Code-On-Demand - милдеттүү эмес): Сервер убактылуу кардардын функционалдуулугун кеңейтүү үчүн ишке ашырылуучу кодду (мисалы, JavaScript) жүктөй алат.

QAда REST APIнин тестирлөөсү ушул принциптердин ылайыктуулугун текшерүүнү камтыйт, ошондой эле:

  • Функционалдык тестирлөө (HTTP ыкмалары GET, POST, PUT, DELETE).
  • Жүктөө тестирлөө.
  • Коопсуздук тестирлөө.
  • шайкештикти тестирлөө (төрт түрдүү маалымат форматтары, кардарлар).