Sobes.tech
Middle+

Pastāsti par vienotas saskarnes (Uniform Interface) noteikumu.

sobes.tech AI

Atbilde no AI

Vienotā saskarne noteikums ir viens no sešiem REST arhitektūras ierobežojumiem. Tas nosaka, ka sistēma izmanto vienotu, standartizētu pieeju mijiedarbībai starp klientu un serveri. Tas vienkāršo un atdala arhitektūru, uzlabo redzamību un atvieglo klienta un servera neatkarīgo attīstību.

Vienotās saskarnes komponenti:

  1. Resursu identifikācija (Identification of resources): Resursiem jābūt unikāli identificējamiem (parasti caur URI). Tas ir standarta mijiedarbības pamats. Piemērs: /users/123, /products/ABC.
  2. Resursu manipulācija caur to reprezentācijām (Manipulation of resources through representations): Klients saņem resursa reprezentāciju (piemēram, JSON vai XML formātā), kas satur pietiekami daudz informācijas resursa maiņai vai dzēšanai. Resursa stāvokli serverī var mainīt, nosūtot mainīto reprezentāciju.
  3. Pašaprakstīšanās ziņojumi (Self-descriptive messages): Katrs ziņojums (pieprasījums vai atbilde) jābūt pilnīgi saprotamam bez servera stāvokļa vai citu pieprasījumu konteksta. Tas ietver metadatus: satura tipu, kešatmiņas informāciju, saites uz citām resursiem utt.
    HTTP/1.1 200 OK
    Content-Type: application/json
    Cache-Control: max-age=3600
    
    {
      "name": "Example User",
      "links": [
        {
          "rel": "self",
          "href": "/users/123"
        }
      ]
    }
    
  4. Hipermediji kā lietojumprogrammas stāvokļa dzinējs (HATEOAS): Tas ļauj klientam dinamiski pārvietoties starp resursiem, balstoties uz servera atbildē sniegtajām hipermediju saitēm. Klients nav jāzina visi URI iepriekš, tikai ieejas punkts. Servers virza klientu caur pieejamām darbībām un resursiem.
    {
      "orderId": "A123",
      "status": "processing",
      "links": [
        {
          "rel": "cancel",
          "href": "/orders/A123/cancel",
          "method": "POST"
        },
        {
          "rel": "self",
          "href": "/orders/A123"
        }
      ]
    }
    
    Tā vietā, lai būtu cieti kodēti ceļi, klients uzzina par pasūtījuma atcelšanas iespēju, izmantojot saites ar rel: "cancel".

Vienota saskarne ir kritiski svarīga RESTful sistēmu mērogojamībai un attīstībai, jo tā samazina komponentu savstarpējo atkarību.