Middle+
Дар бораи қоидаи интерфейси ягона (Uniform Interface) гап занед.
sobes.tech AI
Ҷавоб аз AI
Қоида Uniform Interface — REST архитектурасининг олти чеккадан бири. У тизимга мижоз ва сервер ўртасидаги алоқани бир хил, стандартлаштирилган ёндашувдан фойдаланишни тақиқлайди. Бу архитектурани соддалаштиради ва ажратиб қўяди, кўришни яхшилайди ва мижоз ва сервернинг мустақил ривожланишини осонлаштиради.
Uniform Interface компонентлари:
- Ресурсларнинг идентификацияси (Identification of resources): Ресурслар уникал идентификацияланиши керак (одатда URI орқали). Бу стандартлаштирилган ўзаро алоқанинг асоси. misol:
/users/123,/products/ABC. - Ресурсларни уларнинг тасвирлари орқали бошқариш (Manipulation of resources through representations): Клиент ресурснинг тасвирини олади (масалан, JSON ёки XML форматда), бу ресурсни ўзгартириш ёки ўчириш учун етарли маълумотни ўз ичига олади. Серверда ресурснинг ҳолати ўзгартирилиши мумкин, ўзгартирилган тасвирни юбориш орқали.
- Ўз-ўзини тасвирлайдиган хабарлар (Self-descriptive messages): Ҳар бир хабар (сўров ёки жавоб) тўлиқ тушуниш учун етарли маълумотни ўз ичига олиши керак, бу ҳолда сервер ёки бошқа сўровлар контекстига эҳтиёж йўқ. Бу мета-маълумотларни ўз ичига олади: мазмун тури, кешлаш ҳақида маълумот, бошқа ресурсларга ҳаволалар ва ҳоказо.
HTTP/1.1 200 OK Content-Type: application/json Cache-Control: max-age=3600 { "name": "Example User", "links": [ { "rel": "self", "href": "/users/123" } ] } - Hypermedia - дастур ҳолатининг муҳаррири (HATEOAS): Клиентга гипермедий ҳаволалар орқали ресурслар орасида динамик ўтиш имконини беради, улар сервер жавобида тақдим этилган. Клиент барча URI-ларни олдиндан билмаслиги керак, фақат кириш нуқтаси. Сервер клиентни мавжуд амаллар ва ресурслар бўйича йўналтиради.
Тўғридан-тўғри кодланган йўллар ўрнига, мижоз буюртманинг бекор қилиниш имкониятини{ "orderId": "A123", "status": "processing", "links": [ { "rel": "cancel", "href": "/orders/A123/cancel", "method": "POST" }, { "rel": "self", "href": "/orders/A123" } ] }rel: "cancel"билан ҳаволанинг мавжудлиги ва мазмуни орқали билиши мумкин.
Бир хил интерфейс масштаблашиш ва RESTful тизимларнинг эволюцияси учун жуда муҳим, чунки у компонентлар ўртасидаги боғлиқликни камайтиради.