Hoʻokuʻu ʻia o PostgREST 9.0.0, nā mea hoʻohui no ka hoʻohuli ʻana i ka waihona i RESTful API

Ua hoʻokuʻu ʻia ʻo PostgREST 9.0.0, kahi kikowaena pūnaewele ʻokoʻa me ka hoʻokō ʻana i kahi mea hoʻohui māmā i ka PostgreSQL DBMS, e unuhi ana i nā mea mai kahi waihona i loaʻa i kahi API RESTful. Ma kahi o ka palapala ʻana i ka ʻikepili pili i loko o nā mea (ORM), hana ʻo PostgREST i nā manaʻo pololei i ka waihona. Mālama pū ka ʻaoʻao waihona i ka serialization o nā pane JSON, hōʻoia ʻikepili, a me ka ʻae. Ua lawa ka hana o ka ʻōnaehana no ka hana ʻana i nā noi 2000 i kēlā me kēia kekona ma kahi kikowaena maʻamau. Ua kākau ʻia ke code papahana ma Haskell a hāʻawi ʻia ma lalo o ka laikini MIT.

No ka laʻana, me ka hoʻohana wale ʻana i ka mīkini kuleana waihona, hiki iā ʻoe ke hāʻawi i ka ʻike i ka ʻikepili (nā papa, nā ʻano ʻike, a me nā kaʻina hana mālama) ma HTTP. I kēia hihia, ʻaʻohe pono e hoʻopili i kēlā unuhi a ʻo ka maʻamau hoʻokahi kauoha GRANT ua lawa i mea e loaʻa ai ka pākaukau ma o ka REST API. Hiki ke hoʻonohonoho i ke komo ʻana ma ka token (JWT) a hoʻonohonoho i ka "multitenancy" ma o ka hoʻohana ʻana i ka palekana dynamic row level (Row Level Security).

ʻO ka Architecturally, PostgREST ke koi nei i ka ʻikepili-oriented architecture (Data-Oriented Architecture), kahi e mālama ʻole ai nā microservices i nā mokuʻāina iā lākou iho, akā hoʻohana i hoʻokahi komo i ka ʻikepili (Data Access Layer) no kēia.

Hoʻokuʻu ʻia o PostgREST 9.0.0, nā mea hoʻohui no ka hoʻohuli ʻana i ka waihona i RESTful API

Ma waena o nā hoʻololi i ka mana hou:

  • Ua hoʻohui ʻia nā papa ʻāpana i ka cache schema cache, kahi i hiki ai i ia mau papa ke hoʻokomo i nā hana UPSERT a me INSERT i ka pane Wahi, hoʻokō i nā nīnau OPTIONS, a hoʻokō i ke kākoʻo OpenAPI.
  • Via RPC POST ua ʻae ʻia ke kāhea ʻana i nā hana me kahi ʻāpana inoa ʻole.
  • Ua ʻae ʻia e kāhea i nā hana me hoʻokahi ʻāpana JSON me ka ʻole o ke poʻomanaʻo "Prefer: params=single-object".
  • Ua ʻae ʻia e hoʻouka i ka ʻikepili o ke ʻano bytea i nā hana me ka hoʻohana ʻana i nā noi me "Content-Type: application/octe-stream".
  • ʻAe ʻia e hoʻouka i nā kikokikona i loko o nā hana me ka hoʻohana ʻana i nā nīnau me "Content-Type: text/plain".
  • Hoʻohui ʻia ke kākoʻo no ka pakele ʻana i nā huaʻōlelo i loko o nā pale pālua, no ka laʻana, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash").
  • Ua hoʻolako ʻia ka hiki ke kānana i nā kumuwaiwai pae mua ma muli o nā kānana i kūkulu ʻia ("/projects?select=*,clients!inner(*)&clients.id=eq.12".
  • Hāʻawi ka "is" operator i ka waiwai "ʻike ʻole".
  • Ua hoʻokō ʻia ka hoʻohālikelike me PostgreSQL 14 a ua hoʻopau ʻia ke kākoʻo no PostgreSQL 9.5.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka