Skip to content

REST، HTTP فعل اور درخواست کی ساخت

REST, HTTP verbs, and the anatomy of a request

35 منٹ

تین طریقے

  1. REST کا مطلب Representational State Transfer ہے، یہ نام یاد رکھنے کی ضرورت نہیں۔ کام کا تصور یہ ہے: نظام میں ہر چیز ایک وسیلہ ہے، ہر وسیلے کا ایک URL ہے، اور آپ چند گنے چنے فعل سے ان وسیلوں پر عمل کرتے ہیں۔ ایک ٹیکس دہندہ https://api.fbr.gov.pk/taxpayers/1234567 پر وسیلہ ہے۔ ایک بل https://api.easypaisa.com.pk/bills/abcd پر وسیلہ ہے۔ URL چیز کی پہچان ہے۔ فعل بتاتا ہے کہ آپ اس پر کیا کرنا چاہتے ہیں۔

  2. فعل گنتی کے ہیں۔ GET کسی وسیلے کو پڑھ کر واپس دیتا ہے۔ POST نیا بناتا ہے۔ PUT موجودہ کو مکمل بدل دیتا ہے۔ PATCH اس کے کچھ حصے بدلتا ہے۔ DELETE اسے مٹا دیتا ہے۔ اگر FBR ایک صاف ستھرا REST API دے، تو پروفائل پڑھنے کے لیے GET /taxpayers/1234567، نیا ٹیکس ریٹرن بھیجنے کے لیے POST /returns، موجودہ ریٹرن میں کوئی نمبر درست کرنے کے لیے PATCH /returns/abc، اور اسے واپس لینے کے لیے DELETE /returns/abc۔ ایک بار فعل سمجھ جائیں تو REST کا نوے فیصد اپنے آپ سمجھ آ جاتا ہے۔

  3. ہر جواب کے ساتھ ایک اسٹیٹس کوڈ آتا ہے، تین ہندسوں کا نمبر جو بتاتا ہے کیا ہوا۔ 200 کا مطلب کامیابی۔ 201 کا مطلب نئی چیز بن گئی۔ 400 کا مطلب آپ نے غلط شکل کی درخواست بھیجی، آپ کی غلطی۔ 401 کا مطلب آپ کی شناخت نہیں ہوئی۔ 403 کا مطلب شناخت ہے مگر اجازت نہیں۔ 404 کا مطلب وسیلہ موجود نہیں۔ 429 کا مطلب آپ نے بہت تیز درخواستیں بھیجیں، رفتار کم کریں۔ 500 کا مطلب سرور ٹوٹ گیا، ان کی غلطی۔ کوڈ مختصر ہیں کیونکہ سرور لاکھوں جواب فی سیکنڈ بھیجتے ہیں۔ پہلا ہندسہ سیکھ لیں اور آپ کوئی بھی API لاگ پڑھ سکتے ہیں: 2 یعنی ٹھیک، 4 یعنی صارف کی غلطی، 5 یعنی سرور کی غلطی۔

فوری چیک

فوری چیک: جدید AI روایتی قاعدہ بنیاد پروگرام سے کس طرح مختلف ہے؟

کیوں؟

کیوں کا پہلا درجہ: فعل کیوں استعمال کریں، عمل کو URL میں ہی کیوں نہ ڈال دیں؟ کیونکہ فعل ہر نظام کو بغیر URL کے غور سے پڑھے سمجھنے دیتے ہیں کہ درخواست کیا کرنا چاہتی ہے۔ پراکسی، کیش، آڈٹ لاگ، سب GET کے لیے DELETE سے مختلف برتاؤ کرتے ہیں۔ فعل اور نام کو الگ رکھنا پوری ویب کے بنیادی ڈھانچے کو ذہین بنا دیتا ہے۔

Claude کے ساتھ آزمائیں

Claude یا ChatGPT کے ساتھ آزمانے کے لیے پرامپٹ: 'FBR کے ای انوائسنگ نظام کے لیے ایک REST API کا مسودہ بنائیں۔ پانچ endpoints لکھیں، ہر ایک کے ساتھ فعل، URL، JSON میں درخواست کی شکل، اور متوقع جواب۔ ہر endpoint کے لیے ایک غلطی کا کیس بھی شامل کریں صحیح اسٹیٹس کوڈ کے ساتھ۔ تبصرے اردو میں ہوں۔' جواب کو نقاد کی نظر سے پڑھیں، نہ کہ یقین کرنے والے کی۔

ماخذ

ماخذ اور مزید مطالعہ۔ MDN Web Docs، 'An overview of HTTP'۔ Roy Fielding، 'Architectural Styles and the Design of Network-based Software Architectures' (Chapter 5، اصل REST مقالہ)۔ restfulapi.net۔ httpstatuses.com۔ json.org۔