Publikimi i PostgREST 9.0.0, shtesa për kthimin e bazës së të dhënave në një API RESTful

PostgREST 9.0.0 u lëshua, një server në internet që funksionon veçmas me zbatimin e një shtese të lehtë në PostgreSQL DBMS, duke përkthyer objekte nga një bazë të dhënash ekzistuese në një API RESTful. Në vend të hartës së të dhënave relacionale në objekte (ORM), PostgREST krijon pamje direkt në bazën e të dhënave. Ana e bazës së të dhënave trajton gjithashtu serializimin e përgjigjeve JSON, vërtetimin e të dhënave dhe autorizimin. Performanca e sistemit është e mjaftueshme për të përpunuar deri në 2000 kërkesa në sekondë në një server tipik. Kodi i projektit është shkruar në Haskell dhe shpërndahet nën licencën MIT.

Për shembull, duke përdorur vetëm mekanizmin e privilegjimit të bazës së të dhënave, ju mund të jepni akses në të dhënat (tabelat, llojet e pamjeve dhe procedurat e ruajtura) përmes HTTP. Në këtë rast, nuk ka nevojë të kodohet një përkthim i tillë dhe zakonisht mjafton një komandë GRANT për ta bërë tabelën të disponueshme nëpërmjet API-së REST. Është e mundur të konfigurohet aksesi me anë të tokenit (JWT) dhe të organizohet "shumëfishim" përmes përdorimit të sigurisë dinamike të nivelit të rreshtit (Siguria e nivelit të rreshtit).

Arkitekturisht, PostgREST shtyn drejt një arkitekture të orientuar drejt të dhënave (Arkitektura e orientuar drejt të dhënave), ku mikroshërbimet nuk i ruajnë vetë shtetet, por përdorin një akses të vetëm në të dhëna (Data Access Layer) për këtë.

Publikimi i PostgREST 9.0.0, shtesa për kthimin e bazës së të dhënave në një API RESTful

Ndër ndryshimet në versionin e ri:

  • Tabelat e ndara u shtuan në cache-in e skemës së ruajtjes, gjë që bëri të mundur që tabela të tilla të futnin operacionet UPSERT dhe INSERT në përgjigjen e vendndodhjes, të ekzekutonin pyetje OPTIONS dhe të zbatonin mbështetjen e OpenAPI.
  • Nëpërmjet RPC POST lejohet thirrja e funksioneve me një parametër të paemërtuar.
  • Lejohet thirrja e funksioneve me një parametër JSON pa titullin “Prefer: params=single-object”.
  • Lejohet ngarkimi i të dhënave të tipit bytea në funksione duke përdorur kërkesat me "Lloji i përmbajtjes: aplikacioni/oktet-stream".
  • Lejohet të ngarkojë tekstin në funksione duke përdorur pyetje me "Lloji i përmbajtjes: tekst/i thjeshtë".
  • U shtua mbështetje për ikjen e karaktereve brenda kllapave të dyfishta, për shembull, "?col=in.("Double\"Citate"), ?col=in.("Back\\slash")".
  • Është dhënë aftësia për të filtruar burimet e nivelit të parë bazuar në filtrat e integruar (“/projects?select=*,clients!inner(*)&clients.id=eq.12”.
  • Operatori "është" lejon vlerën "e panjohur".
  • Përputhshmëria me PostgreSQL 14 është arritur dhe mbështetja për PostgreSQL 9.5 është ndërprerë.

Burimi: opennet.ru

Shto një koment