GraphQL, API'ler için bir sorgu dili ve bu sorguları typed bir schema üzerinde yanıtlayan bir runtime'dır. İstemci, tam olarak istediği alanları tanımlayan tek bir istek gönderir ve sunucu da tam olarak o şekli döndürür — ne fazlası ne eksiği.
GraphQL, API'ler için bir sorgu dili ve bu sorguları typed bir schema üzerinde yanıtlayan bir runtime'dır. İstemci, tam olarak istediği alanları tanımlayan tek bir istek gönderir ve sunucu da tam olarak o şekli döndürür — ne fazlası ne eksiği.
/users, /users/1/posts); GraphQL ise tek bir /graphql endpoint'i sunar ve veriyi sorgu gövdesiyle seçersiniz.# One request fetches a user AND their posts' titles — no second round trip
query {
user(id: "1") { # pick the user by id
name # only the fields we list come back
posts { # nested: follow the relationship in the same query
title
}
}
}
Yanıt sorguyu birebir yansıtır: { "data": { "user": { "name": "...", "posts": [{ "title": "..." }] } } }.
Mülakatçılar bunu, temel ödünleşimi anlayıp anlamadığınızı görmek için sorar: GraphQL over/under-fetching sorununu ortadan kaldırır ve istemcilere esneklik sağlar, ancak bunun bedeli daha fazla sunucu tarafı karmaşıklığıdır (resolver'lar, caching, query-cost kontrolü). Sadece söz dizimini değil, neden var olduğunu bilmek, doğru aracı seçebileceğinizin bir işaretidir.
Junior'dan Senior'a detaylı cevaplarla bir BT mülakat soruları kütüphanesi.
Bağış Yap