Rrugëzimi i PostgREST 9.0.0, shtesë për kthimin e DB në API RESTful

PostgREST 9.0.0 është lëshuar, një server web i pavarur që implementon një shtesë të lehtë për sistemin e menaxhimit të bazave të të dhënave PostgreSQL, i cili transmeton objekte nga një bazë të dhënash ekzistuese në një API RESTful. Në vend që të reflektojnë të dhënat relacionale në objekte (ORM), në PostgREST krijohen ballina drejtpërdrejt në bazën e të dhënave. Në anën e DB gjithashtu ekzekutohet serializimi i përgjigjeve JSON, verifikimi i të dhënave dhe autorizimi. Performanca e sistemit është e mjaftueshme për të përpunuar deri në 2000 kërkesa në sekondë në një tipik. serverKodi i projektit është shkruar në gjuhën Haskell dhe shpërndahet me licencë MIT.

Për shembull, duke përdorur vetëm mekanizmin e privilegjeve në bazën e të dhënave, mund të jepet qasje në të dhëna (tabela, pamje dhe procedura të ruajtura) përmes protokollit HTTP. Nuk ka nevojë për kodimin e një translacioni të tillë dhe zakonisht mjafton një komandë GRANT që tabela të bëhet e aksesueshme përmes API REST. Ka mundësi për të konfiguruar qasjen me një token (JWT) dhe për të organizuar "multitenancy" përmes përdorimit të sigurisë dinamike në nivelin e rreshtave (Row Level Security).

Arkitektura PostgREST nxit një arkitekturë të orientuar nga të dhënat (Data-Oriented Architecture), ku mikroshërbimet nuk ruajnë gjendjen vetë, por përdorin një qasje të bashkuar për të dhënat (Data Access Layer).

Rrugëzimi i PostgREST 9.0.0, shtesë për kthimin e DB në API RESTful

Ndër ndryshimet në versionin e ri:

  • NĂ« sistemin e ruajtjes janĂ« shtuar tabela tĂ« ndara (particizuara), gjĂ« qĂ« ka lejuar qĂ« pĂ«r kĂ«to tabela tĂ« inkorporohen operacionet UPSERT dhe INSERT nĂ« pĂ«rgjigjen Location, tĂ« ekzekutohen kĂ«rkesa OPTIONS dhe tĂ« realizohet mbĂ«shtetje pĂ«r OpenAPI.
  • PĂ«rmes RPC POST, Ă«shtĂ« e lejuar tĂ« thirren funksione me njĂ« parametĂ«r jo tĂ« emĂ«ruar.
  • Lejohet thirrja e funksioneve me njĂ« parametĂ«r JSON pa header "Prefer: params=single-object".
  • Lejohet ngarkimi nĂ« funksione tĂ« dhĂ«nave me tip bytea, duke pĂ«rdorur kĂ«rkesa me "Content-Type: application/octet-stream".
  • Lejohet ngarkimi nĂ« funksione tĂ« teksteve, duke pĂ«rdorur kĂ«rkesa me "Content-Type: text/plain".
  • Shtuar mbĂ«shtetje pĂ«r escapin e simboleve brenda dy katrorĂ«ve, pĂ«r shembull, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash").
  • Ofruar mundĂ«sinĂ« e filtrimit tĂ« burimeve tĂ« nivelit tĂ« parĂ« bazuar nĂ« filtrat e integruar ("/projects?select=*,clients!inner(*)&clients.id=eq.12").
  • NĂ« operatorin "is" Ă«shtĂ« e lejuar pĂ«rdorimi i vlerĂ«s "unknown".
  • Siguruar kompatibilitet me PostgreSQL 14 dhe ndaluar mbĂ«shtetje pĂ«r PostgreSQL 9.5.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster