Junior
REST-ке багытталган архитектура (ROA) деген эмне?
sobes.tech AI
AIден жооп
REST-ке негизделген архитектура (Rепрезентативдүү Sтат Tрансфер) — бул бөлүштүрүлгөн системалар үчүн архитектуралык стиль, ал ресурстарды аныктоо жана кардар менен сервердин өз ара аракеттенүүсүнүн жолдорун аныктоочу принциптердин топтому.
RESTтин негизги принциптери:
- Клиент-сервер (Client-Server): Жоопкерчиликтер аймактарын бөлүү. Кардар колдонуучу интерфейсине, сервер — маалыматтарды сактоо жана иштетүүгө жооптуу.
- Статусту жокко чыгаруу (Stateless): Кардардан келген ар бир суроо серверге анын иштетилиши үчүн керектүү бардык маалыматтарды камтышы керек. Сервер кардардын абалын суроолор аралыгында сактабайт.
- Кэшке коюу мүмкүнчүлүгү (Cacheable): Кардарлар жана аралык түйүндөр сервердин жоопторун кэшке коюшу мүмкүн, бул иштөөчөндүктү жана масштабдуулукту жогорулатат.
- Бирдиктүү интерфейс (Uniform Interface):
- Ресурстарды аныктоо (Identification of resources): Ресурстар URL аркылуу так аныкталат.
- Ресурстарды көрсөтүү аркылуу иштетүү (Manipulation of resources through representations): Кардар ресурстарды көрсөтүү аркылуу иштете алат (мисалы, JSON, XML).
- Өзүн-өзү сүрөттөөчү билдирүүлөр (Self-descriptive messages): Ар бир билдирүү анын иштетилишин түшүнүү үчүн жетиштүү маалыматты камтыйт.
- Гипермедиа аркылуу колдонмо абалын башкаруу (Hypermedia as the Engine of Application State - HATEOAS): Кардар сервердин жоопторунда берилген гиперссылтемелер аркылуу гана өз ара аракеттенет.
- Катмарланган система (Layered System): Система катмарларга уюштурулушу мүмкүн (мисалы, прокси, шлюздер), жана ар бир компонент гана кийинки катмарды көрөт, анын менен өз ара аракеттенет.
- Талап боюнча код (Code-On-Demand - милдеттүү эмес): Сервер убактылуу кардардын функционалдуулугун кеңейтүү үчүн ишке ашырылуучу кодду (мисалы, JavaScript) жүктөй алат.
QAда REST APIнин тестирлөөсү ушул принциптердин ылайыктуулугун текшерүүнү камтыйт, ошондой эле:
- Функционалдык тестирлөө (HTTP ыкмалары GET, POST, PUT, DELETE).
- Жүктөө тестирлөө.
- Коопсуздук тестирлөө.
- шайкештикти тестирлөө (төрт түрдүү маалымат форматтары, кардарлар).