GraphQL

GraphQL je jezik upita za API-je koji je nastao kao alternativa tradicionalnim REST API-jima. Umjesto da koristi niz različitih endpointova, GraphQL koristi samo jedan endpoint i omogućuje klijentima da specificiraju točno što žele dobiti od tog API-ja.

GraphQL je stvoren u tvrtki Facebook 2012. godine, a kasnije je postao open-source projekt 2015. godine. Danas ga koriste mnoge tvrtke poput GitHuba, Shopifya i Netflix-a.

Glavna prednost GraphQL-a je to što omogućuje klijentima da specificiraju samo ono što im je potrebno, što dovodi do smanjenja količine podataka koju klijent mora preuzeti s servera. Također omogućuje klijentima da specificiraju složene upite koje bi u REST API-ju bile teško ili nemoguće izvršiti.

GraphQL koristi tipove podataka kako bi opisao podatke koje API može vratiti, što ga čini vrlo jasnim i lako razumljivim za razvojne programere i klijente. Također podržava promjene podataka, što znači da klijenti mogu stvarati, mijenjati i brisati podatke na serveru pomoću GraphQL-a.

Kao što je već spomenuto, GraphQL ima samo jedan endpoint, što olakšava skaliranje API-ja i smanjuje kompleksnost. Također pruža mogućnost za izradu grafova podataka koji mogu biti vrlo korisni u analizi podataka.

Primjer GraphQL upita

Evo jednostavnog primjera GraphQL upita i odgovora:

Recimo da imate API koji vraća informacije o filmovima. U tradicionalnom REST API-ju, mogli biste imati endpoint za dohvaćanje svih filmova, a zatim drugi endpointi za dohvaćanje pojedinačnih filmova, ocjena, glumaca, itd.

S druge strane, u GraphQL-u, klijenti mogu specificirati samo ono što im je potrebno, koristeći jedan endpoint.

 

Na primjer, evo jednostavnog GraphQL upita koji traži nazive i žanrove svih filmova:


 query { 
   movies { 
    title 
    genre 
  } 
}

 

U odgovoru na ovaj upit, API bi vratio samo nazive i žanrove svih filmova:

{ 
"data": 
 { "movies": 
  [ 
    { 
      "title": "Forrest Gump", 
      "genre": "drama" 
    }, 
    { 
      "title": "Star Wars", 
      "genre": "sci-fi" 
    }, 
    { 
      "title": "The Godfather", 
      "genre": "drama" 
    } 
  ] 
 } 
}

Kao što vidite, API je vratio samo tražene informacije (naziv i žanr) za svaki film, umjesto da vrati sve informacije o filmu. Ovo je jedna od velikih prednosti GraphQL-a - klijenti mogu specificirati samo ono što im je potrebno, a ne moraju preuzeti nepotrebne podatke.

Ovo je samo jedan jednostavan primjer, ali GraphQL omogućuje i složenije upite i omogućuje klijentima da specificiraju svoje zahtjeve za podacima na vrlo precizan način.

 

Scroll

Kako radi scroll na određeni element u javascripoti

Decimalni brojevi u javascript-u

Decimalni brojevi i zaokruživanje na određeni broj decimala u javascriptu

Prijestupne godine

Javascript za prijestupne godine

Asp.net Form dataview

AspNet Forms Dataview kontrola omogućuje brz razvoj aplikacija koje se baziraju na sql server bazi podataka

Blender Layer Weight

Blender Layer Weight kako postaviti

Vue-axios

Get metoda za čitanje json-a iz vue-a pomoću axios plugin-a

JavaScript Url redirekt

Kako redirektirati url pomoću javascript-a

c++ i java

C++ i Java su jedne od najpopularnijih programskih jezika današnjice, oba su objektno orijentirana i koriste se za različite svrhe.