api odihna pentru servicii web

api odihna pentru servicii web

Prin crearea unui serviciu Web, trebuie să ia în considerare o mulțime de ambele părți de afaceri și de dezvoltare. Client prezintă cerințe - echipa de dezvoltare pentru a le pune în aplicare. La rândul său, în funcție de cerințele și scopurile, deja la începutul proiectului este necesar să se definească arhitectura, deoarece acest lucru determină modul în care produsul va funcționa după eliberarea lor. Astăzi vom vorbi despre una dintre cele mai populare dintre ele - REST.

Ce este REST?

prin transfer de stat Representational (condiție de transfer de control) - un stil arhitectural care este utilizat în dezvoltarea de servicii web, și de stabilire a normelor 6 pentru construcția lor. Conformarea cu serviciul reguli web numit servicii odihnitor. În plus, REST necesită, de asemenea, utilizarea de cele mai multe oportunități protocolului http.

Deci, care sunt regulile?

  • Interfață uniformă - o singură interfață
  • Apatrid - absența statului
  • Cacheable - cache
  • Client-Server - demarcate arhitectura client-server
  • Sistemul Layered - un sistem multi-nivel
  • Codul la cerere - cod la cerere

Hai să vorbim despre fiecare dintre acestea mai detaliat.

O singură interfață

Arhitectura REST implică identificarea unei singure interacțiuni interfață a tuturor clienților la server.

Când se utilizează REST, clientul lucrează cu serverul pentru a obține resursele și de gestionare a acestora. Resursele în această abordare poate fi, de exemplu, într-un tabel de baze de date, deși nu este întotdeauna posibil, deoarece interogările pot fi logica destul de complexă de interacțiune cu resurse.

  • Formatul pentru colectarea de elemente: / clădiri
  • Formatul pentru elementul de id: / clădiri /

Informațiile transmise între client și serverul trebuie să fie convertite într-un format convenabil pentru transmisie. Exemple de astfel de formate pot fi fie JSON sau XML, deși în continuare cel mai popular în acest moment este doar JSON. Cu toate acestea, unele servicii Web sunt capabile de a suporta mai multe formate simultan. În acest caz, formatul formatului server de date și datele returnate că serverul trebuie să proceseze, controlat de antetele HTTP Acceptați și tip de conținut. Titlurile pot fi transferate la diferite tipuri. De exemplu: application / JSON sau application / xml.

Absența statului

Fiecare cerere în REST-serviciu trebuie să identifice în mod unic resursa sau resursele, și să opereze statele lor complete. REST servicii Web nu stochează date în sesiunile de interogare sau cookie-uri.

cache

Clienții ar trebui să poată cache interogări. Astfel, răspunsurile se definesc în mod explicit sau implicit ca în cache sau nu, astfel încât clienții nu pot utiliza informații învechite sau incorecte ca răspuns la investigații suplimentare. În mod corespunzător proiectate cache pentru a reduce încărcarea serverului și de a crește viteza de aplicație client care promovează o mai mare scalabilitate și performanță.

Client-server

Interfața care implementează interacțiunea dintre clienți și servere trebuie să separe în mod clar sarcinile de clienți și servere, și, astfel, ar trebui să fie puse în aplicare indiferent de performanța oricăreia dintre ele. De exemplu:

  • clienții nu au o idee despre datele stocate pe server, deoarece acest domeniu de server de responsabilitate.
  • Serverul nu ar trebui să fie dezvoltat în colaborare cu UI de orice client.

sistemul Layered

Sistemul poate avea server intermediar, iar clientul nu poate ști exact la ce a fost el interactioneaza server. Serverul intermediar poate acționa ca sarcină, interogări de echilibrare cache, etc.

Codul la cerere

De ce restul?

În ciuda faptului, REST este potrivit pentru toate proiectele care lucrează la http, uneori, punerea sa în aplicare poate să nu fie posibilă din cauza lipsei de competențe echipei. Cu toate acestea, dacă restul de master în mod corespunzător, dezvoltatorii oferă multe avantaje:

  • Îmbunătățirea productivității. REST returnează numai datele specificate în cerere. Astfel, rapid cererile de proces și răspunsurile sunt emise.
  • Scalabilitate. Aplicația poate rula pe mai multe servere, care permite echilibrarea sarcinii între ele. De asemenea, serviciul poate fi împărțit în mai multe „mikroservisov“, care poate funcționa în paralel.
  • Portabilitate printr-o singură interfață
  • Transparența interacțiune - datorită standardizării sale API-ul rămâne ușor de înțeles pentru utilizator.
  • Ușurința modificării. Din cauza codului de conectivitate mai mică, care reduce probabilitatea „sparge“ cererile atunci când sunt făcute modificări în alte părți ale cererii.

metode HTTP

Http conține 4 metode: GET, POST, PUT, DELETE. Fiecare metodă trebuie utilizată în scopuri diferite și de a identifica funcționalitatea care pune în aplicare cererea.

  • GET. Folosit pentru a obține resursele (lista de resurse sau o resursă care specifică ID-ul său)
  • POST. folosit pentru a crea o resursă
  • PUT. Iispolzuetsya pentru a actualiza resursa de id-ul, care este trecut în URL-ul
  • DELETE. Folosit pentru a șterge resurse prin ID-ul, care este trecut în URL-ul

Mai jos avem un tabel soderzhaschuya posibile cereri de persoane potențiale de resurse. În ea, folosind toate metodele posibile și http-răspunsurile la aceste întrebări se pot întoarce.

api odihna pentru servicii web

Codurile de stare HTTP

Când utilizați REST servicii Web trebuie să aleagă statutul http corect pentru răspunsurile serverului sootvetsvuyushih. Prin ea însăși, ea are mai multe coduri de stare http duzină, dar vom da 10 cele mai frecvent utilizate:

Codurile de stare HTTP sunt un număr mare de coduri de eroare de manipulare, dar aceste coduri nu este suficient pentru orice aplicație. In astfel de cazuri, organismul de răspuns poate include un mesaj care explică eroarea mai în detaliu (folosind JSON, XML, etc.). Clienții care cunosc deja despre acest cod, să fie capabil să-l ocupe în mod corespunzător.

în plus

  • Interogările care returnează o colecție de elemente, ar trebui să poată să paginare, sortare, filtrare,
  • Data și ora în interogările trebuie trimise în formatul unix-timestamp în milisecunde.
  • Versiunea aplicației trebuie să fie cusute în URL-ul aplicației ca un nod. De exemplu: api.app.com/v1/buildings

Dacă aveți întrebări, puteți să ne contactați pentru a obține consultanță tehnică profesională. Vom fi bucuroși să vă ajute cu realizarea de oricare dintre ideile tale!