Kutolewa kwa PostgREST 9.0.0, nyongeza za kubadilisha hifadhidata kuwa API RESTful

Kutolewa kwa PostgREST 9.0.0 kulifanyika, seva ya wavuti inayofanya kazi tofauti na utekelezaji wa nyongeza nyepesi kwa PostgreSQL DBMS, ikitafsiri vitu kutoka kwa hifadhidata iliyopo hadi API RESTful. Badala ya kupanga data ya uhusiano kuwa vitu (ORMs), PostgREST huunda maoni moja kwa moja kwenye hifadhidata. Upande wa hifadhidata pia hushughulikia utayarishaji wa majibu ya JSON, uthibitishaji wa data, na uidhinishaji. Utendaji wa mfumo unatosha kushughulikia hadi maombi 2000 kwa sekunde kwenye seva ya kawaida. Nambari ya mradi imeandikwa katika Haskell na kusambazwa chini ya leseni ya MIT.

Kwa mfano, kwa kutumia tu utaratibu wa upendeleo wa hifadhidata, unaweza kutoa ufikiaji wa data (meza, aina za kutazama, na taratibu zilizohifadhiwa) kupitia HTTP. Katika kesi hii, hakuna haja ya kusimba tafsiri kama hiyo na kwa kawaida amri moja ya GRANT inatosha kufanya jedwali lipatikane kupitia REST API. Inawezekana kusanidi ufikiaji kwa tokeni (JWT) na kupanga "multitenancy" kupitia matumizi ya usalama wa kiwango cha safu mlalo (Row Level Security).

Kiusanifu, PostgREST inasukuma kuelekea usanifu unaoelekezwa kwa data ( Usanifu Unaoelekezwa kwa Data ), ambapo huduma ndogo hazihifadhi majimbo zenyewe, lakini hutumia ufikiaji mmoja wa data ( Tabaka la Ufikiaji wa Data) kwa hili.

Kutolewa kwa PostgREST 9.0.0, nyongeza za kubadilisha hifadhidata kuwa API RESTful

Miongoni mwa mabadiliko katika toleo jipya:

  • Majedwali yaliyogawanywa yaliongezwa kwenye akiba ya taratibu za hifadhi, ambayo iliwezesha majedwali kama hayo kupachika shughuli za UPSERT na INSERT katika jibu la Mahali, kutekeleza hoja za OPTIONS, na kutekeleza usaidizi wa OpenAPI.
  • Kupitia RPC POST inaruhusiwa kuita vitendakazi na kigezo kimoja ambacho hakijatajwa.
  • Inaruhusiwa kuita chaguo za kukokotoa kwa kigezo kimoja cha JSON bila kichwa cha "Pendelea: params=kitu kimoja".
  • Inaruhusiwa kupakia data ya aina ya byte katika vitendakazi kwa kutumia hoja zilizo na "Aina ya Maudhui: programu/mfumo wa octet".
  • Inaruhusiwa kupakia maandishi katika vitendakazi kwa kutumia hoja zilizo na "Aina ya Maudhui: maandishi/wazi".
  • Usaidizi ulioongezwa wa herufi zinazotoroka ndani ya mabano mawili, kwa mfano, "?col=in.("Double\"Quote"), ?col=in.("Nyuma\\slash")".
  • Uwezo wa kuchuja rasilimali za kiwango cha kwanza kulingana na vichujio vilivyojengewa ndani (β€œ/projects?select=*,clients!inner(*)&clients.id=eq.12” umetolewa.
  • Opereta "ni" inaruhusu thamani "haijulikani".
  • Utangamano na PostgreSQL 14 umepatikana na usaidizi wa PostgreSQL 9.5 umekatishwa.

Chanzo: opennet.ru

Kuongeza maoni