REST API Endpoints তৈরি করা

Drupal এর RESTful API এবং Headless Drupal - ড্রুপাল (Drupal) - Web Development

255

ড্রুপাল (Drupal) সাইটে REST API endpoints তৈরি করা একটি গুরুত্বপূর্ণ কার্যকারিতা, যা অন্যান্য অ্যাপ্লিকেশন বা সিস্টেমের সাথে ডেটা ইন্টিগ্রেশন এবং যোগাযোগের জন্য ব্যবহৃত হয়। ড্রুপাল RESTful Web Services মডিউলটি ব্যবহার করে আপনি ড্রুপালে REST API তৈরি করতে পারেন, যা ড্রুপাল সাইটের ডেটাকে JSON বা XML ফরম্যাটে প্রদান করে।

এই গাইডে, আমরা ড্রুপালে কাস্টম REST API endpoints তৈরি করার প্রক্রিয়া এবং সেটআপের কৌশল দেখব।


১. RESTful Web Services মডিউল ইনস্টল ও সক্ষম করা

প্রথমে, ড্রুপালে REST API ব্যবহারের জন্য RESTful Web Services মডিউলটি ইনস্টল এবং সক্ষম করতে হবে।

  1. RESTful Web Services মডিউল ইনস্টল করুন:
    • Admin > Extend (মডিউল) এ যান।
    • RESTful Web Services মডিউলটি খুঁজে পেয়ে সক্রিয় করুন।
    • যদি এটি ডিফল্টভাবে ইনস্টল না থাকে, তবে Drush ব্যবহার করে এটি ইনস্টল করতে পারেন:

      drush en rest
      
  2. HAL (Hypertext Application Language) মডিউল ইনস্টল করুন, যা REST API রেসপন্সে হালফুল ডেটা প্রদান করতে ব্যবহৃত হয়:
    • HAL মডিউল ইনস্টল করুন:

      drush en hal
      

২. REST API কনফিগার করা

REST API সেটআপ করার জন্য কিছু কনফিগারেশন করতে হবে।

  1. Configuration > Web services > REST এ যান।
  2. এখানে, আপনি বিভিন্ন Resources যেমন Content, Users, Taxonomy terms ইত্যাদি কনফিগার করতে পারবেন, এবং সেগুলোর জন্য কনফিগারেশন সেট করতে পারবেন (যেমন GET, POST, PUT, DELETE ফাংশনালিটি)।
  3. Authentication method নির্বাচন করুন:
    • Basic Authentication: সাইটে HTTP ভিত্তিক ইউজারনেম ও পাসওয়ার্ড যাচাই করার জন্য।
    • OAuth: আরো সুরক্ষিত এবং আধুনিক অথেনটিকেশন পদ্ধতি।
    • Session Authentication: সেশন ভিত্তিক অথেনটিকেশন।

৩. কাস্টম REST API Endpoint তৈরি করা

ড্রুপালে কাস্টম REST API endpoint তৈরি করার জন্য আপনাকে একটি কাস্টম মডিউল তৈরি করতে হবে এবং REST Resources হুক ব্যবহার করে কাস্টম রিসোর্স তৈরি করতে হবে।

কাস্টম মডিউল তৈরি করা:

  1. modules/custom ফোল্ডারে একটি নতুন ফোল্ডার তৈরি করুন, যেমন my_custom_rest_module
  2. এর মধ্যে একটি my_custom_rest_module.module ফাইল তৈরি করুন এবং নিচের কোড যোগ করুন:
/**
 * Implements hook_menu().
 */
function my_custom_rest_module_menu() {
  $items = array();

  $items['api/custom-data'] = array(
    'title' => 'Custom Data Endpoint',
    'page callback' => 'my_custom_rest_module_custom_data',
    'access callback' => 'user_access',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
    'file' => 'my_custom_rest_module.inc',
  );

  return $items;
}

/**
 * Custom callback function for the REST endpoint.
 */
function my_custom_rest_module_custom_data() {
  // Return some custom data.
  $data = array(
    'message' => 'This is custom data from the REST API endpoint!',
    'status' => 'success',
  );

  // Return the data as JSON.
  return drupal_json_output($data);
}

এখানে my_custom_rest_module_menu() হুকটি একটি কাস্টম REST API endpoint তৈরি করছে (api/custom-data), যা ব্যবহারকারীর অনুরোধে কাস্টম ডেটা প্রদান করবে।

৪. REST Resource তৈরি করা

আপনি যদি RESTful API তৈরি করতে চান, যা ড্রুপাল নোড (বা অন্যান্য কন্টেন্ট) এক্সপোজ করবে, তবে আপনাকে rest_resource হুক ব্যবহার করতে হবে। এর মাধ্যমে আপনি ড্রুপাল সাইটের বিভিন্ন ডেটা REST API হিসেবে এক্সপোজ করতে পারেন।

/**
 * Implements hook_rest_resource().
 */
function my_custom_rest_module_rest_resource() {
  $resources = array();

  // Define the custom REST resource.
  $resources['custom_data_resource'] = array(
    'label' => t('Custom Data Resource'),
    'resource callback' => 'my_custom_rest_module_custom_data_resource',
    'allowed methods' => array('GET'),
    'authentication' => array('basic_authentication'),
    'format' => array('json'),
  );

  return $resources;
}

/**
 * Custom callback for the REST resource.
 */
function my_custom_rest_module_custom_data_resource($args) {
  // Custom data response
  $data = array(
    'message' => 'This is the custom data exposed via REST.',
    'status' => 'success',
  );

  return drupal_json_output($data);
}

এখানে, my_custom_rest_module_rest_resource() হুকটি একটি কাস্টম REST API resource তৈরি করেছে, যা GET রিকোয়েস্টের মাধ্যমে কাস্টম ডেটা এক্সপোজ করবে।

৫. REST API Endpoint টেস্ট করা

REST API Endpoint তৈরি করার পর, আপনি এটি টেস্ট করতে পারেন। উদাহরণস্বরূপ, GET রিকোয়েস্ট পাঠাতে Postman বা cURL ব্যবহার করতে পারেন:

curl -X GET http://yourdrupalsite/api/custom-data

এটি JSON ফরম্যাটে ডেটা রিটার্ন করবে।


উপসংহার

ড্রুপালে কাস্টম REST API Endpoint তৈরি করা খুবই সহজ এবং এটি ড্রুপালের শক্তিশালী RESTful Web Services মডিউল ব্যবহারের মাধ্যমে করা যায়। আপনি REST Resources হুক এবং Menu হুক ব্যবহার করে কাস্টম API endpoints তৈরি করতে পারেন, যা আপনার সাইটের ডেটা JSON ফরম্যাটে প্রদর্শন করবে এবং অন্যান্য সিস্টেম বা অ্যাপ্লিকেশনগুলোর সাথে ইন্টিগ্রেট করবে।

Content added By
Promotion

Are you sure to start over?

Loading...