PostgREST 9.0.0 کی ریلیز، ڈیٹا بیس کو RESTful API میں تبدیل کرنے کے لیے ایڈ آنز

PostgREST 9.0.0 جاری کیا گیا تھا، جو پوسٹگری ایس کیو ایل DBMS میں ہلکے وزن کے اضافے کے نفاذ کے ساتھ الگ سے آپریٹنگ ویب سرور ہے، موجودہ ڈیٹا بیس سے اشیاء کو RESTful API میں ترجمہ کرتا ہے۔ متعلقہ ڈیٹا کو آبجیکٹ (ORMs) میں میپ کرنے کے بجائے، PostgREST ڈیٹا بیس میں براہ راست نظارے بناتا ہے۔ ڈیٹا بیس کی طرف JSON جوابات، ڈیٹا کی توثیق، اور اجازت کے سیریلائزیشن کو بھی سنبھالتا ہے۔ سسٹم کی کارکردگی ایک عام سرور پر فی سیکنڈ 2000 درخواستوں پر کارروائی کرنے کے لیے کافی ہے۔ پروجیکٹ کوڈ ہاسکل میں لکھا جاتا ہے اور MIT لائسنس کے تحت تقسیم کیا جاتا ہے۔

مثال کے طور پر، صرف ڈیٹا بیس کے استحقاق کے طریقہ کار کا استعمال کرتے ہوئے، آپ HTTP پر ڈیٹا (ٹیبلز، دیکھنے کی اقسام، اور ذخیرہ شدہ طریقہ کار) تک رسائی فراہم کر سکتے ہیں۔ اس صورت میں، اس طرح کے ترجمے کو انکوڈ کرنے کی ضرورت نہیں ہے اور عام طور پر ایک GRANT کمانڈ REST API کے ذریعے ٹیبل کو دستیاب کرنے کے لیے کافی ہے۔ ٹوکن (JWT) کے ذریعے رسائی کو ترتیب دینا اور ڈائنامک رو لیول سیکیورٹی (رو لیول سیکیورٹی) کے استعمال کے ذریعے "ملٹی نینسی" کو منظم کرنا ممکن ہے۔

تعمیراتی طور پر، PostgREST ڈیٹا پر مبنی فن تعمیر (Data-Oriented Architecture) کی طرف دھکیلتا ہے، جہاں مائیکرو سروسز خود ریاستوں کو محفوظ نہیں کرتی ہیں، لیکن اس کے لیے ڈیٹا تک ایک ہی رسائی (Data Access Layer) کا استعمال کرتی ہے۔

PostgREST 9.0.0 کی ریلیز، ڈیٹا بیس کو RESTful API میں تبدیل کرنے کے لیے ایڈ آنز

نئے ورژن میں تبدیلیوں کے درمیان:

  • سٹوریج سکیما کیشے میں تقسیم شدہ میزیں شامل کی گئیں، جس نے اس طرح کے ٹیبلز کے لیے مقام کے جواب میں UPSERT اور INSERT آپریشنز کو سرایت کرنا، OPTIONS کے سوالات کو انجام دینا، اور OpenAPI سپورٹ کو نافذ کرنا ممکن بنایا۔
  • RPC POST کے ذریعے اسے ایک بے نام پیرامیٹر کے ساتھ فنکشنز کو کال کرنے کی اجازت ہے۔
  • اسے ایک JSON پیرامیٹر کے ساتھ فنکشنز کو "ترجیح: params=single-object" ہیڈر کے بغیر کال کرنے کی اجازت ہے۔
  • اسے "Content-Type: application/octet-stream" کے ساتھ درخواستوں کا استعمال کرتے ہوئے فنکشنز میں ٹائپ بائٹ کا ڈیٹا لوڈ کرنے کی اجازت ہے۔
  • "Content-Type: text/plain" کے ساتھ استفسارات کا استعمال کرتے ہوئے فنکشنز میں متن لوڈ کرنے کی اجازت ہے۔
  • ڈبل بریکٹ کے اندر حروف سے بچنے کے لیے مدد شامل کی گئی، مثال کے طور پر، "?col=in.("Double\"quote"), ?col=in.("Back\\slash")"۔
  • بلٹ ان فلٹرز ("/projects?select=*,clients!inner(*)&clients.id=eq.12" کی بنیاد پر پہلے درجے کے وسائل کو فلٹر کرنے کی صلاحیت فراہم کی گئی ہے۔
  • "is" آپریٹر قدر "نامعلوم" کی اجازت دیتا ہے۔
  • PostgreSQL 14 کے ساتھ مطابقت حاصل کر لی گئی ہے اور PostgreSQL 9.5 کے لیے سپورٹ بند کر دی گئی ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں