কেন আমাদের GET blocks দরকার এবং তারা কিভাবে কাজ করে?
আপনি যখন একটি ফ্রন্টএন্ড বিকাশ করেন, তখন আপনাকে অনিবার্যভাবে ব্যাকএন্ডে বিভিন্ন BP চালাতে হবে। একটি BP চালানোর জন্য, আপনাকে এর শেষ পয়েন্টে কল করতে হবে। এটি করার জন্য, AppMaster প্রতিটি শেষ পয়েন্টের জন্য একটি সার্ভার অনুরোধ ব্লক তৈরি করে। এই ব্লকগুলির একই ইনপুট এবং আউটপুট ক্ষেত্রগুলি যুক্ত এন্ডপয়েন্ট হিসাবে রয়েছে এবং এটি শুরু করার উপায় হিসাবে কাজ করে।
REST API- এর নীতি অনুসারে GET ব্লকগুলিকে অবশ্যই কিছু ডেটা পুনরুদ্ধার করতে হবে। প্রায়শই, GET ব্লকগুলি ডাটাবেসের মডেল থেকে ডেটা পুনরুদ্ধার করে (সমস্ত, বা নির্দিষ্ট মানদণ্ড অনুসারে)।
সমস্ত সার্ভার অনুরোধ ব্লকের মত, প্রতিটি GET ব্লক তার নিজস্ব শেষ পয়েন্টে আবদ্ধ। এন্ডপয়েন্টের ইউআরএল ব্লকের নামে প্রদর্শিত হয়।
মনে রাখবেন যে অ্যাপমাস্টার স্বয়ংক্রিয়ভাবে মৌলিক শেষ পয়েন্ট তৈরি করে। কিন্তু আপনি তাদের জন্য আপনার BP এবং এন্ডপয়েন্ট তৈরি করতে পারেন এবং এর ফলে আপনার সার্ভার অনুরোধ ব্লক হয়ে যায়।
GET block ইনপুট এবং আউটপুট ক্ষেত্র
ইনপুট
- Endpoint ID - ব্লকটি কোন এন্ডপয়েন্ট অ্যাক্সেস করতে হবে তা নির্ধারণ করে। এই ক্ষেত্র স্বয়ংক্রিয়ভাবে সেট করা হয়;
- _offset - কোন রেকর্ড থেকে ব্লক তথ্য পাবে তা নির্দিষ্ট করার অনুমতি দেয়; পূর্ণসংখ্যা বিন্যাস;
- _limit - ব্লক লোড রেকর্ডের সংখ্যা। ডিফল্ট 25, এক সময়ে সর্বোচ্চ 500; পূর্ণসংখ্যা বিন্যাস;
- _sort_order - দুটি মান এই ক্ষেত্রের জন্য উপযুক্ত: asc - সরাসরি সাজানোর ক্রম এবং desc - বিপরীত ক্রম; স্ট্রিং বিন্যাস;
- _sort_by - ডেটা মডেলের কোন ক্ষেত্রে তালিকাটি সাজানো হবে তা নির্ধারণ করে; স্ট্রিং বিন্যাস;
- Ids - রেকর্ড আইডিগুলির তালিকা। নির্দিষ্ট আইডি দ্বারা রেকর্ড পেতে অনুমতি দেয়; অ্যারে পূর্ণসংখ্যা বিন্যাস;
- _search - ডেটা মডেলে একটি প্রদত্ত মান অনুসন্ধান করুন; স্ট্রিং বিন্যাস;
- _search_exact – সঠিক মিল অনুসন্ধান সক্ষম/অক্ষম করে; বুলিয়ান বিন্যাস;
- _ search_in - নির্দিষ্ট ক্ষেত্র দ্বারা অনুসন্ধান; অ্যারে স্ট্রিং বিন্যাস।
আসুন অনুসন্ধানের সাথে যুক্ত ক্ষেত্রগুলি ঘনিষ্ঠভাবে দেখে নেওয়া যাক।
_search - সমগ্র ডেটা মডেল জুড়ে মিলগুলির জন্য অনুসন্ধান করে এবং মানটি যে ক্ষেত্রেই অবস্থিত তা নির্বিশেষে সেগুলি খুঁজে পাবে৷
উদাহরণ স্বরূপ, এর _search ক্ষেত্রটি John এ সেট করা যাক। যদি ডেটা মডেলে, একটি রেকর্ডের জন্য, নামের ক্ষেত্রের মান হয় John, এবং অন্যটির জন্য, ইমেল ক্ষেত্রের মান হয় [email protected], তাহলে অনুসন্ধান এই দুটি রেকর্ডই খুঁজে পাবে।
_search_exact – এই ক্ষেত্রটি সক্ষম করার অর্থ হল ফলাফলগুলি এমন রেকর্ড অন্তর্ভুক্ত করবে যা সম্পূর্ণরূপে কোয়েরির সাথে মেলে।
অনুরোধ | _search_exact | ফলাফল |
John | False | John, Johny, [email protected] |
John | True | John |
_search_in - এখানে, আপনি ক্ষেত্রগুলি সেট করতে পারেন যেখানে অনুসন্ধান করা উচিত। উদাহরণ স্বরূপ, আমরা যদি শুধুমাত্র নাম দিয়ে অনুসন্ধান করতে চাই এবং নামটি ইমেলের অংশ হওয়ার ক্ষেত্রে বিবেচনা না করি, তাহলে আমরা _search_in ব্যবহার করতে পারি এবং শুধুমাত্র নাম ক্ষেত্র দ্বারা অনুসন্ধান করতে পারি।
তথ্য মডেল ক্ষেত্র অনুসন্ধান করুন
এই ক্ষেত্রগুলি ডেটা মডেল দ্বারা অনুসন্ধান করতে ব্যবহৃত হয়। তাদের এবং অনুসন্ধান ক্ষেত্রের মধ্যে প্রধান পার্থক্য হল যে তারা বিভিন্ন মান নিতে পারে, অনুসন্ধানের বিপরীতে, যা শুধুমাত্র স্ট্রিং বিন্যাস গ্রহণ করে।
আউটপুট
- _success - অনুসন্ধান ফলাফল; বুলিয়ান বিন্যাস;
- _httpcode - প্রতিক্রিয়া কোড অনুরোধ; পূর্ণসংখ্যা বিন্যাস;
- _error - ত্রুটি পাঠ্য; স্ট্রিং বিন্যাস;
- Data - রেকর্ড প্রাপ্ত; অ্যারে মডেল বিন্যাস;
- Count - প্রাপ্ত এন্ট্রি সংখ্যা; পূর্ণসংখ্যা বিন্যাস।
_with
এটি সেই ব্লকগুলিতে প্রদর্শিত হয় যেখানে অনুরোধটি সম্পর্কিত ডেটা মডেলগুলিতে যায়৷ এটি আপনাকে ডেটা মডেল থেকে ডেটা পেতে দেয় যেটিতে অনুরোধ করা হয়েছে এবং এর সাথে যুক্ত ডেটা মডেলগুলি থেকে।
আসুন একটি উদাহরণ অ্যাপ্লিকেশন ব্যবহার করে _with ক্ষেত্রটি দেখি যা বই এবং তাদের বিভাগগুলির একটি তালিকা সংরক্ষণ করে।
দুটি ডেটা মডেল তৈরি করুন: book এবং category । book আমরা book_name ক্ষেত্র যোগ করি, এবং category আমরা category_name ক্ষেত্র যোগ করি।
তাদের মধ্যে একটি সংযোগ তৈরি করুন। আসুন এটিকে বিভাগ থেকে বইতে আঁকুন এবং has_many এর সাথে সম্পর্কের ধরন সেট করুন কারণ একটি বিভাগ বিভিন্ন বইকে উল্লেখ করতে পারে।
ওয়েব অ্যাপ্লিকেশন ট্যাবের অধীনে, বই এবং বিভাগ টেবিলে ডেটা লোডিং সেট আপ করুন এবং এই টেবিলগুলিতে রেকর্ড যোগ করুন। লিঙ্ক করা ডেটা বর্তমানে টেবিলে প্রদর্শিত হয় না। এটি ঠিক করতে, _with ক্ষেত্রের প্রয়োজন।
প্রতিটি টেবিলের জন্য Get block এই ক্ষেত্রটি সেট আপ করুন।
এখন আমাদের অ্যাপ্লিকেশনটি খুলুন এবং নিশ্চিত করুন যে ক্যোয়ারী চলছে এবং টেবিলে সঠিক ডেটা উপস্থিত হয়েছে।