PostgREST 9.0.0 хувилбар, мэдээллийн санг RESTful API болгон хувиргах нэмэлт програмууд

PostgREST 9.0.0 нь одоо байгаа мэдээллийн сангаас объектуудыг RESTful API болгон хөрвүүлдэг PostgreSQL DBMS-ийн хөнгөн нэмэлтийг хэрэгжүүлсэн тусдаа ажилладаг вэб серверийг гаргасан. PostgREST нь хамаарлын өгөгдлийг объект (ORM) болгон буулгахын оронд мэдээллийн санд шууд харагдац үүсгэдэг. Өгөгдлийн сангийн тал нь JSON хариултуудын цуваачлал, өгөгдөл баталгаажуулалт, зөвшөөрлийг зохицуулдаг. Системийн гүйцэтгэл нь ердийн сервер дээр секундэд 2000 хүртэлх хүсэлтийг боловсруулахад хангалттай. Төслийн код нь Хаскелл хэл дээр бичигдсэн бөгөөд MIT лицензийн дагуу тараагддаг.

Жишээлбэл, зөвхөн мэдээллийн баазын давуу эрх механизмыг ашиглан та HTTP-ээр өгөгдөлд (хүснэгт, харах төрөл, хадгалагдсан процедур) хандах эрх олгох боломжтой. Энэ тохиолдолд ийм орчуулгыг кодлох шаардлагагүй бөгөөд ихэвчлэн REST API-ээр дамжуулан хүснэгтийг ашиглах боломжтой болгохын тулд нэг GRANT команд хангалттай байдаг. Динамик мөрийн түвшний хамгаалалтыг (Row Level Security) ашиглан токеноор (JWT) хандалтыг тохируулах, "олон наст байдлыг" зохион байгуулах боломжтой.

Архитектурын хувьд PostgREST нь өгөгдөлд чиглэсэн архитектурыг (Data-Oriented Architecture) чиглүүлдэг бөгөөд микро үйлчилгээнүүд нь төлөвийг өөрөө хадгалдаггүй, харин үүний тулд өгөгдөлд нэг хандалт (Data Access Layer) ашигладаг.

PostgREST 9.0.0 хувилбар, мэдээллийн санг RESTful API болгон хувиргах нэмэлт програмууд

Шинэ хувилбарт орсон өөрчлөлтүүдийн дунд:

  • Хадгалалтын схемийн кэшэд хуваалттай хүснэгтүүдийг нэмсэн нь ийм хүснэгтүүдэд UPSERT болон INSERT үйлдлүүдийг Байршлын хариултанд оруулах, OPTIONS асуулга явуулах, OpenAPI дэмжлэгийг хэрэгжүүлэх боломжтой болгосон.
  • RPC POST-ээр нэг нэргүй параметртэй функцуудыг дуудахыг зөвшөөрдөг.
  • “Prefer: params=single-object” толгой хэсэггүйгээр нэг JSON параметртэй функцуудыг дуудахыг зөвшөөрнө.
  • "Content-Type: application/octet-stream" хүсэлтийг ашиглан байт төрлийн өгөгдлийг функцэд ачаалахыг зөвшөөрнө.
  • "Агуулгын төрөл: текст/энгийн" асуулга ашиглан текстийг функцэд ачаалах боломжтой.
  • Давхар хаалт доторх тэмдэгтүүдийг орхих дэмжлэг нэмэгдсэн, жишээ нь "?col=in.("Давхар\"Ишлэл"), ?col=in.("Буцах\\налуу зураас")".
  • Суурилуулсан шүүлтүүрүүд (“/projects?select=*,clients!inner(*)&clients.id=eq.12”) дээр тулгуурлан нэгдүгээр түвшний нөөцийг шүүх боломжийг олгосон.
  • "is" оператор нь "үл мэдэгдэх" утгыг зөвшөөрдөг.
  • PostgreSQL 14-тэй нийцэж байгаа бөгөөд PostgreSQL 9.5-ын дэмжлэгийг зогсоосон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх