Издание на PostgREST 9.0.0, додатоци за претворање на базата на податоци во RESTful API

Објавен е PostgREST 9.0.0, посебен веб-сервер кој работи со имплементација на лесен додаток на PostgreSQL DBMS, преведувајќи објекти од постоечка база на податоци во RESTful API. Наместо да ги пресликува релационите податоци во објекти (ORMs), PostgREST креира погледи директно во базата на податоци. Страната на базата на податоци, исто така, се справува со серијализација на JSON одговори, валидација на податоци и авторизација. Перформансите на системот се доволни за обработка до 2000 барања во секунда на типичен сервер. Проектниот код е напишан на Хаскел и дистрибуиран под лиценцата МИТ.

На пример, користејќи го само механизмот за привилегии на базата на податоци, можете да дозволите пристап до податоците (табели, типови на прегледи и складирани процедури) преку HTTP. Во овој случај, нема потреба да се шифрира таков превод и обично е доволна една команда GRANT за да се направи табелата достапна преку REST API. Можно е да се конфигурира пристапот по токен (JWT) и да се организира „повеќета моќ“ преку употреба на динамична безбедност на ниво на ред (Сигурност на ниво на ред).

Архитектонски, PostgREST турка кон архитектура ориентирана кон податоци (Data-Oriented Architecture), каде што микросервисите не ги зачувуваат самите состојби, туку користат единствен пристап до податоците (Слој за пристап до податоци) за ова.

Издание на PostgREST 9.0.0, додатоци за претворање на базата на податоци во RESTful API

Меѓу промените во новата верзија:

  • Поделените табели беа додадени во кешот на шемата за складирање, што овозможи таквите табели да ги вградуваат операциите UPSERT и INSERT во одговорот на Локација, да извршуваат OPTIONS барања и да имплементираат поддршка за OpenAPI.
  • Преку RPC POST е дозволено да се повикуваат функции со еден неименуван параметар.
  • Дозволено е да се повикуваат функции со еден параметар JSON без заглавие „Преферирај: парамс=единечен објект“.
  • Дозволено е да се вчитуваат податоци од типот бајти во функции користејќи барања со „Тип на содржина: апликација/октет-стрим“.
  • Дозволено е да се вчита текст во функции користејќи прашања со „Тип на содржина: текст/обичен“.
  • Додадена е поддршка за бегство на знаци во двојни загради, на пример, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash")".
  • Обезбедена е можноста за филтрирање на ресурсите од прво ниво врз основа на вградените филтри („/projects?select=*,clients!inner(*)&clients.id=eq.12“.
  • Операторот „е“ ја дозволува вредноста „непознат“.
  • Компатибилноста со PostgreSQL 14 е постигната и поддршката за PostgreSQL 9.5 е прекината.

Извор: opennet.ru

Додадете коментар