কীভাবে টেস্ট_এন্ডপয়েন্ট তৈরি করবেন?


29

আমি ড্রুপল-এ নতুন এবং আমি REST এবং RESTWS মডিউলটি ব্যবহারের জন্য পরিষেবা মডিউলটি ব্যবহার করছি। আমি RESTWS ব্যবহার করেছি এবং http: //base_url/node/1.xML দ্বারা নোডের সামগ্রী পেতে পারি এবং এখন আমার বাহ্যিক পিএইচপি অ্যাপ্লিকেশন থেকে একটি নোড এবং ব্যবহারকারীদের ড্রুপলে যুক্ত করতে হবে। আমি googled এবং আমি এখানে পেয়েছিলাম যে আমরা ব্যবহার করতে হবে HTTP: // base_drupal_url / drupal7 / test_endpoint / ব্যবহারকারীরা । আমি ড্রুপাল from থেকে একটি পরিষেবা তৈরি করার চেষ্টা করেছি, তবে আমি শেষ পয়েন্টের শিরোনাম, নাম এবং শেষ পয়েন্টের পথে কী দিতে হবে তা আমি জানি না এবং আমি ধরে নিয়েছি কার্লের মধ্যে একই সমাপ্তি পয়েন্টটি দেওয়া দরকার।

কীভাবে রেস্ট সার্ভারটি ইনস্টল করা আছে কিনা এবং কীভাবে শেষ পয়েন্টটি তৈরি করা যায় তা কীভাবে চেক করা যায় সে সম্পর্কে কোনও সহায়তা সহায়ক।

আমি পরিষেবাগুলি মডিউল পরিষেবাদি -7x-3.0-আরসি 3 সহ ড্রুপাল 7 ব্যবহার করছি


আপনি কি আপনার সমস্যার সমাধান করেছেন? আমি ঠিক আপনার মতোই একটি এন্ডপয়েন্ট এবং রিসোর্স পাথ তৈরি করেছি তবে আমি খুঁজে পাচ্ছি না "অনুরোধ করা ইউআরএল / ~ দ্রুপাল ওয়ার্কস্টেশন / দ্রুপাল / দ্রুপাল_7_6 / বাকী / নোড এই সার্ভারে পাওয়া যায় নি।" ত্রুটি। সর্বোচ্চ ভোট দেওয়া উত্তরে আমার মন্তব্য পরীক্ষা করুন। আপনার যদি এর কোনও সমাধান থাকে তবে আমাকে জানান।
রাজ পবন গমদল

উত্তর:


56

পরিষেবাদি মডিউলটি ব্যবহার করা সহজ, তবে কনফিগার করা মুশকিল হতে পারে বিশেষত আপনি যদি ধারণায় নতুন হন। সুতরাং, আমি "দ্রুপাল উত্তর" ব্যবহারকারীদের জন্য পরিষেবাদি মডিউলগুলির কনফিগারেশনটিকে সহজ করার জন্য স্ক্রিনশটগুলি পোস্ট করতে যাচ্ছি।

নিম্নলিখিতটি আমার মেশিনে ইনস্টল করা পরিষেবাগুলির মডিউলটির সংস্করণ রয়েছে:

এখানে চিত্র বর্ণনা লিখুন

নীচে দেখানো হয়েছে বলে 'রেস্ট' নামে একটি এন্ডপয়েন্ট তৈরি করুন:

এখানে চিত্র বর্ণনা লিখুন

সার্ভারের প্রকার এবং শেষ পয়েন্টের পথটি নির্বাচন করুন:

এখানে চিত্র বর্ণনা লিখুন

আপনি সংস্থানগুলি সক্ষম এবং নির্দিষ্ট করতে চান এমন সংস্থানগুলির তালিকা নির্বাচন করুন:

এখানে চিত্র বর্ণনা লিখুন

প্রতিক্রিয়া বিন্যাসগুলি নির্বাচন করুন এবং পার্সারদের অনুরোধ করুন যা আপনি সক্ষম করতে চান:

এখানে চিত্র বর্ণনা লিখুন

আপনি নীচে প্রদর্শিত হিসাবে আপনার কনফিগারেশন পরীক্ষা করতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

আপনি নীচের মতো সমস্ত নোডের তালিকা পেতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

এবং নির্দিষ্ট নোড হিসাবে:

এখানে চিত্র বর্ণনা লিখুন

মাইকেলকোল দ্বারা সরবরাহিত চমৎকার উদাহরণগুলির স্ক্রিপ্টগুলি এখানে নীচে রইল http://drupal.org/node/910598#comment-4677738 যে কোনও বাহ্যিক পিএইচপি অ্যাপ্লিকেশন থেকে নোড তৈরি করতে।

এই উত্তরটির সম্পূর্ণতার জন্য আমি তার কোডটি নকল করছি।

//--------------login to the server------------------------
$service_url = 'http://example.dev/rest/user/login.xml'; // .xml asks for xml data in response
$post_data = array(
    'username' => 'test',
    'password' => 'test',
);
$post_data = http_build_query($post_data, '', '&'); // Format post data as application/x-www-form-urlencoded
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // have curl_exec return a string

curl_setopt($curl, CURLOPT_POST, true);             // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "LOGIN RESPONSE:\n";
var_dump($response);



// parse the response
$xml = new SimpleXMLElement($response);
$session_cookie = $xml->session_name . '=' . $xml->sessid;
// print "SESSION_COOKIE: $session_cookie";

file_put_contents('session_cookie.txt', $session_cookie);

//----------------create a node -------------------------------

$node_data = array(
    'type' => 'ct_metadata_core',
    'title' => 'test layer',
    'field_core_lat_n[und][0]' => array('value' => '90'),
    'field_core_lat_s[und][0]' => array('value' => '-90'),
    'field_core_long_e[und][0]' => array('value' => '180'),
    'field_core_long_w[und][0]' => array('value' => '-180'),
    'field_core_description[und][0]' => array('value' => 'National Data Buoy Center'),
    'field_core_originator[und][0]' => array('value' => 'NDBC'),
    'field_core_url[und][0]' => array('url' => 'http://www.ndbc.noaa.gov/kml/marineobs_as_kml.php?sort=pgm'),
    'field_cont_res_name_org[und][0]' => array('value' => 'test'),

);


$service_url = 'http://example.dev/rest/node'; // .xml asks for xml data in response
$session_cookie = file_get_contents('session_cookie.txt');

$node_data = http_build_query($node_data, '', '&'); // Format post data as application/x-www-form-urlencoded
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // have curl_exec return a string

curl_setopt($curl, CURLOPT_COOKIE, "$session_cookie"); // use the previously saved session

curl_setopt($curl, CURLOPT_POST, true);             // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $node_data); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "CREATE NODE RESPONSE:\n";
var_dump($response);


//----------------logout from the server-------------------------

$service_url = 'http://example.dev/rest/user/logout';
$session_cookie = file_get_contents('session_cookie.txt');

// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // have curl_exec return a string

curl_setopt($curl, CURLOPT_COOKIE, "$session_cookie"); // use the previously saved session
curl_setopt($curl, CURLOPT_POST, true);             // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, ""); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "LOGOUT RESPONSE:\n";
var_dump($response);

2
এটি উল্লেখ করার মতো যে তিনি প্রতিটি অনুরোধকে পার্সিং বিকল্পটি সক্ষম করেছেন । "অ্যাপ্লিকেশন / x-www-form-urlencoded" ডিফল্টরূপে অক্ষম আছে তা বুঝতে পেরে আমি অনেক সময় নষ্ট করেছি।
অনুমান করুন

উপরের কোড স্নিপেটটি আমাকে কোথায় লিখতে হবে? এটি কি মডিউল / পরিষেবাদি / সার্ভার / রেস্ট_সার্ভার / লিবের ভিতরে রয়েছে?
subhojit777

1
উপরের @ subhojit777 কোডটি একটি স্ট্যান্ড একা পিএইচপি কোড স্নিপেট যা কোনও বাহ্যিক সার্ভারে হোস্ট করা পরিষেবাগুলি এপিআই গ্রাস করতে ব্যবহার করা যেতে পারে এবং আপনি এটি মডিউল ফাইলটিতে লিখতে পারেন, তবে মডিউল / পরিষেবাদি / সার্ভার / রেস্ট_সার্ভার / লিব এ সম্ভবত এটি লিখতে পারেন সেরা জায়গা না।
অজিংক্যা কুলকার্নি

আপনি আমার লোকালহোস্টে যেমন বলেছেন তেমনই আমি সেটআপ করেছি। আমার ড্রুপাল সাইটটিতে চলার পথ রয়েছে: লোকালহোস্ট / rup দ্রুপাল ওয়ার্কস্টেশন / দ্রুপাল / দ্রুপাল_7__1 । আমি ইউআরএল-এর উপরে আঘাত করলে সূচি.পিএফপি পৃষ্ঠাটি চলমান থাকে তবে আমার কনফিগার করা শেষ পয়েন্ট এবং সংস্থান পথটি কাজ করবে না। পরিষেবাটি ট্রিগার করার জন্য আমার ইউআরএল হ'ল লোকালহোস্ট / rup দ্রুপাল ওয়ার্কস্টেশন / দ্রুপাল / দ্রুপাল_7__1 / রেস্ট / নোড । আমি নিম্নলিখিত ত্রুটিটি পেয়েছি: "অনুরোধ করা ইউআরএল / rup দ্রুপাল ওয়ার্কস্টেশন / দ্রুপাল / ড্রুপাল_7__1 / rest / রেস্ট / নোড পাওয়া যায়নি server" এই সমস্যাটি কীভাবে সমাধান করবেন?
রাজ পবন গমডাল

1
অরিগাতো গোজাইমাসু আজিক্যা সেন্সি i ARIGATO !!!
TheEYL

6

আমি আপনাকে পরিষেবাদি 3.x এর জন্য একটি উত্স তৈরি করার পরামর্শ দিচ্ছি ।

এছাড়াও, আমি নিশ্চিত যে পরিষেবাগুলি এবং আরএসটিডব্লিউএস সামঞ্জস্যপূর্ণ কিনা; তারা উভয়ই একই জিনিসটির বিভিন্নতার প্রস্তাব দেয় এবং এগুলির মতবিরোধ হতে পারে।


আমি জানতে চাই সার্ভিস অ্যাড অপশনটিতে শেষ পয়েন্টে আমার কী দেওয়া উচিত 7
শ্রীধর

এবং আমার পিএইচপি অ্যাপ্লিকেশন থেকে নোড তৈরি করতে আমার কি কোনও কাস্টম কোড ড্রুপাল লিখতে হবে?
শ্রীধর

পরিষেবাগুলি ব্যবহার করা যেতে পারে এমন সংস্থানগুলিতে তৈরি করেছে। রেস্ট ডাব্লুএস এবং সামঞ্জস্যতার বিষয়ে: পরিষেবাগুলিতে রেস্টব্লিউএসের একটি বন্দর রয়েছে যা রেস্ট ডাব্লুএস রক্ষণাবেক্ষণকারীদের দ্বারা প্রত্যাখ্যাত হয়েছিল। যদি কেউ আগ্রহী হন তবে এটি আলাদা মডিউল হিসাবে প্রকাশিত হতে পারে।
ভক্সপেলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.