Tso tawm PostgREST 9.0.0, add-ons rau tig lub database rau hauv RESTful API

Qhov kev tso tawm ntawm PostgREST 9.0.0 tau tshwm sim, cais lub vev xaib ua haujlwm nrog kev siv lub teeb yuag ntxiv rau PostgreSQL DBMS, txhais cov khoom los ntawm cov ntaub ntawv uas twb muaj lawm rau hauv RESTful API. Hloov chaw ntawm kev sib txuas cov ntaub ntawv rau hauv cov khoom (ORMs), PostgREST tsim cov kev pom ncaj qha hauv cov ntaub ntawv. Cov ntaub ntawv sab nraud kuj tseem ua haujlwm serialization ntawm JSON cov lus teb, cov ntaub ntawv siv tau, thiab kev tso cai. Qhov kev ua tau zoo ntawm lub cev muaj peev xwm ua tiav txog 2000 qhov kev thov ib ob ntawm ib tus neeg rau zaub mov raug. Txoj haujlwm code yog sau rau hauv Haskell thiab muab faib raws li MIT daim ntawv tso cai.

Piv txwv li, siv cov txheej txheem tsim nyog database nkaus xwb, koj tuaj yeem tso cai nkag mus rau cov ntaub ntawv (cov ntxhuav, saib hom, thiab cov txheej txheem khaws cia) dhau HTTP. Nyob rau hauv cov ntaub ntawv no, tsis tas yuav encode xws li ib tug txhais lus thiab feem ntau ib tug GRANT hais kom ua yog txaus kom lub rooj muaj nyob rau ntawm lub REST API. Nws muaj peev xwm los teeb tsa kev nkag los ntawm token (JWT) thiab teeb tsa "multitenancy" los ntawm kev siv dynamic kab theem kev ruaj ntseg (Row Level Security).

Architecturally, PostgREST thawb mus rau cov ntaub ntawv-oriented architecture (Data-Oriented Architecture), qhov twg microservices tsis txuag lub xeev lawv tus kheej, tab sis siv ib qho kev nkag mus rau cov ntaub ntawv (Data Access Layer) rau qhov no.

Tso tawm PostgREST 9.0.0, add-ons rau tig lub database rau hauv RESTful API

Ntawm cov kev hloov nyob rau hauv lub tshiab version:

  • Cov rooj sib faib tau muab ntxiv rau hauv qhov chaw khaws cia schema cache, uas ua rau nws muaj peev xwm rau cov ntxhuav zoo li no los teeb tsa UPSERT thiab INSERT cov haujlwm hauv qhov chaw teb, ua raws OPTIONS queries, thiab siv OpenAPI kev txhawb nqa.
  • Ntawm RPC POST nws raug tso cai hu ua haujlwm nrog ib qho tsis muaj npe.
  • Nws raug tso cai hu ua haujlwm nrog ib qho JSON parameter yam tsis muaj "Prefer: params=single-object" header.
  • Nws tso cai rau thauj cov ntaub ntawv ntawm hom bytea rau hauv cov haujlwm uas siv cov lus nug nrog "Cov ntsiab lus-Hom: daim ntawv thov / octet-kwj".
  • Tso cai rau thauj cov ntawv mus rau hauv cov haujlwm uas siv cov lus nug nrog "Cov ntsiab lus-Hom: ntawv / dawb".
  • Ntxiv kev txhawb nqa rau kev khiav tawm cov cim hauv ob lub cim, piv txwv li, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash")".
  • Lub peev xwm los lim cov peev txheej thawj zaug raws li cov lim dej ua ke (β€œ/projects?select=*,clients!inner(*)&clients.id=eq.12” tau muab.
  • Tus neeg teb xov tooj "yog" tso cai rau tus nqi "tsis paub".
  • Kev sib raug zoo nrog PostgreSQL 14 tau ua tiav thiab kev txhawb nqa rau PostgreSQL 9.5 tau raug txiav lawm.

Tau qhov twg los: opennet.ru

Ntxiv ib saib