Ho lokolloa ha PostgREST 9.0.0, litlatsetso bakeng sa ho fetola database hore e be RESTful API

PostgREST 9.0.0 e ile ea lokolloa, seva sa websaete se sebetsang ka thoko se nang le ts'ebetsong ea tlatsetso e bobebe ho PostgreSQL DBMS, e fetolelang lintho tse tsoang ho database e teng ho RESTful API. Sebakeng sa ho etsa limmapa tsa data tsa kamano ka lintho (ORMs), PostgREST e theha maikutlo ka kotloloho polokelong ea litaba. Lehlakore la database le boetse le sebetsana le serialization ea likarabo tsa JSON, netefatso ea data, le tumello. Ts'ebetso ea sistimi e lekane ho fihlela likopo tsa 2000 motsotsoana ho seva se tloaelehileng. Khoutu ea projeke e ngotsoe ho Haskell mme e ajoa tlasa laesense ea MIT.

Mohlala, o sebelisa feela mokhoa oa litokelo tsa polokelo, o ka fana ka phihlello ea data (litafole, mefuta ea pono, le mekhoa e bolokiloeng) ka HTTP. Tabeng ena, ha ho hlokahale ho kenyelletsa phetolelo e joalo 'me hangata taelo e le' ngoe ea GRANT e lekane ho etsa hore tafole e fumanehe ka REST API. Hoa khoneha ho lokisa phihlello ka token (JWT) le ho hlophisa "multitenancy" ka ts'ebeliso ea ts'ireletso e matla ea mela (Row Level Security).

Ka meralo, PostgREST e sutumelletsa ho meralo e shebaneng le data (Data-Oriented Architecture), moo li-microservices li sa bolokeng linaha ka botsona, empa li sebelisa phihlello e le 'ngoe ea data (Data Access Layer) bakeng sa sena.

Ho lokolloa ha PostgREST 9.0.0, litlatsetso bakeng sa ho fetola database hore e be RESTful API

Har'a liphetoho tsa mofuta o mocha:

  • Litafole tse arohaneng li kenyelelitsoe polokelong ea polokelo ea schema, e leng se entseng hore ho khonehe hore litafole tse joalo li kenye ts'ebetso ea UPSERT le INSERT karabong ea Sebaka, ho etsa lipotso tsa OPTIONS, le ho kenya ts'ehetso ea OpenAPI.
  • Ka RPC POST e lumelloa ho letsetsa mesebetsi ka parameter e le 'ngoe e sa boleloang ka lebitso.
  • E lumelletsoe ho letsetsa mesebetsi ka paramethara e le 'ngoe ea JSON ntle le sehlooho sa "Prefer: params=single-object".
  • E lumelloa ho kenya data ea mofuta oa byte mesebetsing e sebelisang likopo tse nang le "Content-Type: application/octet-stream".
  • E lumelletsoe ho kenya mongolo mesebetsing ka ho sebelisa lipotso tse nang le "Mofuta-Mofuta: mongolo/thota".
  • Tšehetso e ekelitsoeng bakeng sa litlhaku tse phonyohang ka har'a masakane a mabeli, mohlala, "?col=in.("Habeli\"Quote"), ?col=in.("Back\\slash")".
  • Bokhoni ba ho sefa lisebelisoa tsa boemo ba pele ho ipapisitsoe le lihloela tse ahiloeng (“/projects?select=*,clients!inner(*)&clients.id=eq.12” li fanoe.
  • Opereishene ea "is" e lumella boleng "bo sa tsejoeng".
  • Ho lumellana le PostgreSQL 14 ho fihletsoe mme tšehetso ea PostgreSQL 9.5 e khaotsoe.

Source: opennet.ru

Eketsa ka tlhaloso