Sobes.tech
Middle+

Бирдиктүү интерфейс эрежеси (Uniform Interface) жөнүндө айтып бериңиз.

sobes.tech AI

AIден жооп

Униформалык интерфейс эрежеси — REST архитектурасынын алты чектөөлөрүнүн бири. Ал системага кардар менен сервердин ортосундагы өз ара аракеттенүүнү бирдиктүү, стандартташтырылган ыкма менен колдонууга милдеттендирет. Бул архитектураны жөнөкөйлөтүп, бөлүп турат, көрүнүктүүлүгүн жакшыртат жана кардар менен сервердин көз карандысыз өнүгүүсүн жеңилдетет.

Униформалык интерфейсинин компоненттери:

  1. Ресурстарды идентификациялоо (Identification of resources): Ресурстар уникалдуу идентификациялануусу керек (адатта, URI аркылуу). Бул стандартташтырылган өз ара аракеттенүүнүн негизи. Мисалдар: /users/123, /products/ABC.
  2. Ресурстарды алардын көрсөтүүлөрү аркылуу башкаруу (Manipulation of resources through representations): Клиент ресурстун көрсөтүүлөрүн алат (мисалы, JSON же XML форматында), ал ресурсты өзгөртүү же өчүрүү үчүн жетиштүү маалыматты камтыйт. Сервердеги ресурстун абалы өзгөртүлүшү мүмкүн, өзгөртүлгөн көрсөтүүнү жөнөтүү аркылуу.
  3. Өз-өзүн сүрөттөөчү билдирүүлөр (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"
        }
      ]
    }
    
  4. Hypermedia катары колдонмо абалынын кыймылы (HATEOAS): Клиентке гипермедиалык шилтемелер аркылуу ресурстар арасында динамик өтүү мүмкүнчүлүгүн берет, алар сервер жоопто көрсөтүлгөн. Клиент бардык URI-лерди алдын ала билбеши керек, кирүү чекитин гана билсе болду. Сервер клиентти жеткиликтүү аракеттер жана ресурстар аркылуу багыттайт.
    {
      "orderId": "A123",
      "status": "processing",
      "links": [
        {
          "rel": "cancel",
          "href": "/orders/A123/cancel",
          "method": "POST"
        },
        {
          "rel": "self",
          "href": "/orders/A123"
        }
      ]
    }
    
    Жолдор катуу коддолгон эмес, кардар буйрутманын жокко чыгаруу мүмкүнчүлүгүн rel: "cancel" шилтемесинин болушу жана мазмуну аркылуу биле алат.

Бирдей интерфейс масштабдуулук жана RESTful системалардын өнүгүшү үчүн абдан маанилүү, анткени ал компоненттердин байланышын азайтат.