Pagpagawas sa PostgREST 9.0.0, mga add-on alang sa paghimo sa database nga usa ka RESTful API

Gipagawas ang PostgREST 9.0.0, usa ka separado nga naglihok nga web server nga adunay pagpatuman sa usa ka gaan nga add-on sa PostgreSQL DBMS, paghubad sa mga butang gikan sa usa ka kasamtangan nga database ngadto sa usa ka RESTful API. Inay sa pagmapa sa relational data ngadto sa mga butang (ORMs), ang PostgREST nagmugna og mga panglantaw direkta sa database. Ang database nga bahin usab nagdumala sa serialization sa JSON nga mga tubag, data validation, ug pagtugot. Ang pasundayag sa sistema igo na aron maproseso ang hangtod sa 2000 nga mga hangyo matag segundo sa usa ka tipikal nga server. Ang code sa proyekto gisulat sa Haskell ug giapod-apod ubos sa lisensya sa MIT.

Pananglitan, gamit lamang ang mekanismo sa pribilehiyo sa database, mahimo nimong hatagan ang access sa datos (mga lamesa, mga tipo sa pagtan-aw, ug mga gitipigan nga pamaagi) sa HTTP. Sa kini nga kaso, dili kinahanglan nga i-encode ang ingon nga paghubad ug kasagaran usa ka GRANT nga mando igo na aron magamit ang lamesa pinaagi sa REST API. Posible nga i-configure ang pag-access pinaagi sa token (JWT) ug pag-organisar sa "multitenancy" pinaagi sa paggamit sa dinamikong row level security (Row Level Security).

Sa arkitektura, ang PostgREST nagduso sa usa ka arkitektura nga nakabase sa datos (Data-Oriented Architecture), diin ang mga microservice wala magtipig sa mga estado sa ilang kaugalingon, apan naggamit usa ka pag-access sa datos (Data Access Layer) alang niini.

Pagpagawas sa PostgREST 9.0.0, mga add-on alang sa paghimo sa database nga usa ka RESTful API

Lakip sa mga pagbag-o sa bag-ong bersyon:

  • Ang mga partitioned table gidugang sa storage schema cache, nga nagpaposible sa maong mga lamesa nga ma-embed ang UPSERT ug INSERT operations sa Location response, execute OPTIONS query, and implement OpenAPI support.
  • Pinaagi sa RPC POST gitugotan ang pagtawag sa mga gimbuhaton nga adunay usa ka wala hinganli nga parameter.
  • Gitugotan ang pagtawag sa mga function nga adunay usa ka parameter sa JSON nga wala ang "Prefer: params = single-object" header.
  • Gitugotan ang pag-load sa datos sa tipo nga bytea sa mga gimbuhaton gamit ang mga hangyo nga adunay "Content-Type: application / octet-stream".
  • Gitugotan sa pagkarga sa teksto ngadto sa mga gimbuhaton gamit ang mga pangutana nga adunay "Content-Type: text/plain".
  • Gidugang nga suporta alang sa pag-ikyas sa mga karakter sulod sa dobleng bracket, pananglitan, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash").
  • Ang abilidad sa pagsala sa unang-ang-ang nga mga kapanguhaan base sa built-in nga mga filter (“/projects?select=*,clients!inner(*)&clients.id=eq.12” gihatag na.
  • Gitugotan sa operator nga "is" ang kantidad nga "wala mailhi".
  • Ang pagkaangay sa PostgreSQL 14 nakab-ot ug ang suporta alang sa PostgreSQL 9.5 gihunong na.

Source: opennet.ru

Idugang sa usa ka comment