Dè a th' ann an Overfetching?
Aig bonn na adhbhar carson a tha daoine a’ moladh GraphQL tha bun-bheachd ris an canar overfetching. Ann an iomadh API, nuair a nì thu ceist mu dhìomhair, bheir an API seachad a h-uile càil a tha fios aige, oir chan eil fios aige dè a tha thu air do ùidh ann. Le GraphQL (coltach ri SQL) faodaidh tu innse don API gu sònraichte dè tha thu ag iarraidh mus dèan e an rannsachadh.
Tha e coltach ri a bhith a’ coiseachd a-steach do bhùth-bidhe agus ag iarraidh orra a bhith a’ toirt a h-uile càil air am clàr don bhòrd, an uairsin a’ taghadh do thòiseachadh, do phrìomh chòcaireachd, agus do dh’òl blas. Tha an còrr air a chaitheamh gu call.
Eisimpleir Practaigeach
Smaoinich air ceist le tagradh làimhe innleachdach bhalach a tha na fhrithealaiche:
query foodPricesForOrder {
menuItem(id: "Jxkjahdkfh==") {
id
description
longDescription
calories
price
picture
}
}
Dè nam biodh sinn a’ fàgail às longDescription? Sàbhaladh sinn trafaic lìonra, ged nach bi an rannsachadh anns an stòr-dàta gu dearbh nas luaithe ma tha na raointean uile anns an aon bhòrd.
Ach thoir an aire dhan raon picture—faodaidh e a bhith na ìomhaigh air a chòdachadh ann am base64. Chan eil sinn airson sin air tagradh làimhe do fhrithealaiche. Ann an REST, cha bhiadh againn ach gabhail ris no feumaidh an leasaiche API cruthachadh puing-crìochnachaidh sònraichte airson ìomhaighean. Nas miosa, dh’fhaodadh an fhuasgladh REST a chuir ri teachdaiche gairmean air leth a dhèanamh airson gach plaoidh.
Mar a Shocraicheas GraphQL Seo
Leigidh GraphQL leat iarraidh dìreach air na tha thu a dhìth. Ma tha fuasgladh ceangailte ris an raon picture (ann an AppSync, Apollo, no frithealaiche GraphQL sam bith), bidh e air a chuir an gnìomh dìreach nuair a nochdas an raon sin anns an rannsachadh. Cho fad 's nach cuir thu a-steach e, chan fheum thu pàigheadh airson.
Tha seo fìor thar API Legalesign. Bidh raointean a tha feumach air lorgas daor—nìnan co-cheangailte, luachan coimpiutaichte, pàighidhean mòra—a’ fuasgladh dìreach nuair a dh’ iarr thu orra.
An T-Sìnteachadh
Nuair a tha thu a’ dealbhadh do cheistean, smaoinich air na raointean a tha thu dha-rìribh feumach orra. Fàg às na tha am UI agad a’ cleachdadh. Lùghdaichidh tu meud a’ phàighidh, dàil lìonra, agus coimpiutair air an taobh frithealaiche.
Faic Designing Queries airson stiùireadh nas practaigeach.