এই টিউটোরিয়ালটি ড্রুপাল কনসোলের drupal gprr
কমান্ডটি ব্যবহার করে , আমি দ্রুপাল ৮-এ একটি কাস্টম আরএসটি রিসোর্স তৈরি করেছি I'm আমি একটি সাধারণ জেএসওএন অবজেক্ট পুনরুদ্ধার করতে এই সংস্থানটি ব্যবহার করতে সক্ষম হয়েছি যা একটি জিইটি করে বর্তমান ব্যবহারকারীকে হ্যালো বলেছে:
http://localhost/example/hello?_format=json
জেএসওএন ফিরে আসল এবং এর পরে দেখে মনে হচ্ছে:
{ "hello": "tyler" }
হিসাবে আমি অবশ্যই লগ ইন করতে যাচ্ছি এই আশা করা যেতে পারে কিন্তু আমি যখন লগ আউট, ও রিসোর্স আরেকটি পেতে পারি। একই ফলাফল ফিরিয়ে দেওয়া হয় :
{ "hello": "tyler" }
একটি সম্পূর্ণ ড্রুপাল ক্যাশে পরিষ্কার করা এই সমস্যাটিকে সংশোধন করে তবে আমি বিশেষভাবে এই সংস্থানটিতে ক্যাচিং অক্ষম করতে চাই। আমি এটা কিভাবে করবো?
কার্যকারণ হিসাবে, আমি ভেবেছিলাম ক্যোয়ারী স্ট্রিংয়ে একটি টাইম স্ট্যাম্প যুক্ত করা কাজ করবে:
http://localhost/example/hello?_format=json&time=123456789
তবে এটি কোয়েরি স্ট্রিংয়ের সময় স্ট্যাম্পের মান কী তা বিবেচনা করে তা ঠিক একই ফলাফলটি প্রদান করে returns
বংশবৃদ্ধির জন্য, জিইটি সংস্থান তৈরির জন্য কঙ্কালের কোড এখানে রয়েছে:
class ExampleHello extends ResourceBase {
/**
* {@inheritdoc}
*/
public static function create(/* ... */) {
return new static(/* ... */);
}
/**
* Constructs a Drupal\rest\Plugin\ResourceBase object.
*/
public function __construct(/* ... */) {
parent::__construct(/* ... */);
// ...
}
/*
* Responds to GET requests.
*/
public function get() {
$account = \Drupal::currentUser()->getAccount();
if (!$account->id()) {
return new ResourceResponse(array(
'welcome' => 'visitor'
));
}
return new ResourceResponse(array(
'hello' => $account->getAccountName()
));
}
}
জিইটি অনুরোধে ক্যাচিং অক্ষম করতে এই প্লাগইনটিতে আমার কি কনফিগারেশন / সেটিংস সেট করতে হবে?
\Drupal
জায়গাগুলিতে পরিষেবাটি ইনজেক্ট করতে পারেন সেগুলিতেও আপনাকে এড়ানো উচিত , যা আপনার মন্তব্য করা কোডের ভিত্তিতে দেখে মনে হচ্ছে আপনি এখানে করতে পারেন।