PUT এবং PATCH: Resource আপডেটের জন্য দুটি HTTP মেথড
RESTful Web Services হল একটি জনপ্রিয় ওয়েব সার্ভিস আর্কিটেকচার, যা HTTP প্রটোকল ব্যবহার করে ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ স্থাপন করে। PUT এবং PATCH দুটি HTTP মেথড যা সাধারণত resource update করতে ব্যবহৃত হয়। যদিও উভয়ই রিসোর্সের তথ্য আপডেটের জন্য ব্যবহৃত হয়, তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে।
১. PUT Method
PUT মেথডটি সম্পূর্ণ রিসোর্স আপডেট করার জন্য ব্যবহৃত হয়। এটি সাধারণত একটি নির্দিষ্ট resource সম্পূর্ণভাবে পরিবর্তন করে এবং পুরনো তথ্য মুছে নতুন তথ্য দিয়ে প্রতিস্থাপন করে।
সিনট্যাক্স:
PUT /resource/{id}
উদাহরণ:
ধরা যাক, আমাদের একটি User resource রয়েছে যার ID 1। এখন, আমরা এই ইউজারের নাম এবং ইমেইল পরিবর্তন করতে চাই।
PUT /users/1
Content-Type: application/json
{
"name": "John Doe",
"email": "johndoe@example.com"
}
এখানে, PUT মেথড ইউজারের সম্পূর্ণ তথ্য পরিবর্তন করবে এবং পুরনো তথ্যকে প্রতিস্থাপন করবে।
২. PATCH Method
PATCH মেথডটি resource এর কিছু অংশ আপডেট করার জন্য ব্যবহৃত হয়। এটি কেবলমাত্র পরিবর্তিত অংশটুকু আপডেট করে, পুরো রিসোর্স নয়। এটি একটি ইনক্রিমেন্টাল আপডেটের জন্য ব্যবহার করা হয়।
সিনট্যাক্স:
PATCH /resource/{id}
উদাহরণ:
ধরা যাক, আবারও আমাদের একটি User resource রয়েছে যার ID 1 এবং আমরা কেবল ইমেইল পরিবর্তন করতে চাই:
PATCH /users/1
Content-Type: application/json
{
"email": "newemail@example.com"
}
এখানে, PATCH মেথড শুধু ইউজারের ইমেইল আপডেট করবে, বাকি তথ্য অপরিবর্তিত থাকবে।
PUT এবং PATCH এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | PUT | PATCH |
|---|---|---|
| পূর্ণ রিসোর্স আপডেট | পুরো রিসোর্স পরিবর্তন করা হয়। | কেবল পরিবর্তিত অংশ পরিবর্তন করা হয়। |
| পরিবর্তনযোগ্যতা | সম্পূর্ণ রিসোর্স পুনরায় পাঠানো হয়। | শুধুমাত্র পরিবর্তিত অংশ পাঠানো হয়। |
| অপারেশন | সম্পূর্ণ পুনঃলিখন (overwrite) হয়। | অংশবিশেষ পরিবর্তন (incremental update) হয়। |
| অবশ্যিকতা | সাধারণত সম্পূর্ণ ডেটা পাঠাতে হয়। | কেবল প্রয়োজনীয় ফিল্ডই পাঠানো হয়। |
PUT এবং PATCH এর ব্যবহারের ক্ষেত্রে কিছু গুরুত্বপূর্ণ পয়েন্ট
- PUT মেথড ব্যবহার করার সময়, আপনি পুরো রিসোর্সটি নতুন করে পাঠাচ্ছেন, অর্থাৎ আপনার কাছে সেই resource এর সম্পূর্ণ তথ্য থাকতে হবে। PUT একেবারে নতুন একটি রিসোর্স তৈরি করতে বা পুরনো রিসোর্স আপডেট করতে ব্যবহৃত হতে পারে।
- PATCH মেথড সাধারণত resource এর কিছু অংশ বা প্রপার্টি পরিবর্তন করার জন্য ব্যবহার করা হয়। PATCH ছোট বা সীমিত আপডেটের জন্য আদর্শ।
- PUT এর ক্ষেত্রে, সাধারণত রিসোর্সের সকল প্রপার্টি প্রদান করতে হয়, অন্যথায় সার্ভার সেটি পুরনোভাবে রাখবে। কিন্তু PATCH কেবলমাত্র যে অংশটি পরিবর্তন করা হবে সেই অংশই সার্ভারকে প্রদান করতে হবে।
রেস্টফুল ওয়েব সার্ভিসে PUT এবং PATCH ব্যবহারের সময় কিছু উদাহরণ
PUT Method:
ধরা যাক, আমরা একটি User resource তৈরি বা আপডেট করতে চাই এবং পুরো ডেটা আপডেট করার জন্য PUT ব্যবহার করব।
PUT /users/1
{
"id": 1,
"name": "Jane Doe",
"email": "janedoe@example.com",
"age": 28
}
এখানে, PUT মেথডে পুরো User রিসোর্সের তথ্য পাঠানো হয়েছে, যেখানে আমরা ID সহ অন্যান্য সকল তথ্য আপডেট করেছি।
PATCH Method:
এবার ধরুন, আমরা কেবলমাত্র User রিসোর্সের ইমেইল পরিবর্তন করতে চাই, তাহলে আমরা PATCH মেথড ব্যবহার করব।
PATCH /users/1
{
"email": "newemail@example.com"
}
এখানে, PATCH মেথড কেবলমাত্র ইমেইল পরিবর্তন করবে এবং অন্য তথ্য অপরিবর্তিত থাকবে।
সারাংশ
PUT এবং PATCH উভয়ই রেস্টফুল ওয়েব সার্ভিসে resource update করার জন্য ব্যবহৃত হয়, তবে তাদের ব্যবহার এবং কার্যকারিতা ভিন্ন। PUT সম্পূর্ণ resource পরিবর্তন করতে ব্যবহৃত হয়, যেখানে আপনি সম্পূর্ণ ডেটা পাঠান এবং সার্ভার পুরনো ডেটা প্রতিস্থাপন করে। অন্যদিকে, PATCH শুধুমাত্র resource এর কিছু অংশ পরিবর্তন করতে ব্যবহৃত হয়, যেখানে কেবল প্রয়োজনীয় অংশ পাঠানো হয়।
আপনার প্রয়োজনে এবং API ডেভেলপমেন্টের ক্ষেত্রে ঠিক কোথায় PUT এবং কোথায় PATCH ব্যবহার করা হবে তা নির্ধারণ করা গুরুত্বপূর্ণ। PUT ব্যবহার করলে সম্পূর্ণ resource আপডেট হয়, আর PATCH ব্যবহার করলে ছোটো আপডেটগুলো করা যায়, যা আরো দ্রুত এবং কার্যকরী।
Read more