একটি ব্যবসায়িক প্রক্রিয়ার জন্য একটি এন্ডপয়েন্ট তৈরি করার সময়, আপনাকে অবশ্যই এই অনুরোধে পাঠানো হবে এমন ডেটার ধরন নির্দিষ্ট করতে হবে ( Request payload type )। সবচেয়ে সাধারণ বিকল্প হল JSON ; এটি আপনাকে সুবিধামত সমস্ত প্রয়োজনীয় পরামিতি নির্দিষ্ট করতে এবং একটি ডেটা মডেল বা অবজেক্টের অ্যারে পাস করতে দেয়। এছাড়াও, অন্যান্য বিকল্পগুলি সম্ভব, উদাহরণস্বরূপ, XML বা Multipart Form (যদি আপনার ফাইল পাঠাতে হয়)।
একই সময়ে, একটি পরিস্থিতি গ্রহণযোগ্য যখন সঠিক কাঠামোটি আগে থেকে জানা যায় না (বা এটি কেবল কোন ব্যাপার নয়)। এই ক্ষেত্রে, একটি যুক্তিসঙ্গত বিকল্প হল " raw " প্রশ্নগুলি ব্যবহার করা৷
raw অনুরোধের জন্য ব্যবসায়িক প্রক্রিয়া
এমন একটি পরিস্থিতি কল্পনা করুন যেখানে এটির প্রয়োজন হতে পারে। ধরা যাক যে আমরা যে পরিষেবাটি বিকাশ করছি তা কেবল একটি সংযোগকারী লিঙ্ক। এর কাজ হল ব্যবহারকারীর কাছ থেকে একটি অনুরোধ গ্রহণ করা, অনুমোদন পরীক্ষা করা, লগ সংরক্ষণ করা, স্প্যাম সুরক্ষা সম্পাদন করা এবং সবকিছু ঠিক থাকলে অনুরোধটিকে আরও পুনঃনির্দেশ করা।
Raw কোয়েরির একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হল যে ব্যবসায়িক প্রক্রিয়া ডিজাইন করার সময় কোনো ইনপুট প্যারামিটার ব্যবহার করা হয় না। পরিবর্তে, রিকোয়েস্ট বডি পেতে একটি বিশেষ ব্লক ব্যবহার করা হয় - Get Request Body । ধরুন আপনি অনুরোধ সম্পর্কে বর্ধিত তথ্যে আগ্রহী। সেই ক্ষেত্রে, Current Request Info ব্লক একটি উপযুক্ত বিকল্প - এটি শুধুমাত্র অনুরোধের মূল অংশই নয়, অতিরিক্ত পরামিতি এবং অনুরোধ শিরোনামও প্রদান করে।
যখন আমরা অনুরোধ থেকে একটি নির্দিষ্ট শিরোনাম আগ্রহী, এটি Get Request Header ব্লক ব্যবহার করে প্রাপ্ত করা যেতে পারে. উপরের উদাহরণটি X-Real-IP শিরোনামটি পড়ে, যাতে অনুরোধের IP ঠিকানা রয়েছে। ফলস্বরূপ আইপি এমন একটি ফাংশনে প্রেরণ করা হয় যা অবশ্যই পরীক্ষা করে দেখতে হবে যে প্রদত্ত আইপি বৈধ এবং নিষিদ্ধ ঠিকানাগুলির কালো তালিকায় নেই। ফলস্বরূপ, প্রক্রিয়াটি হয় একটি উপযুক্ত ত্রুটির বার্তা দিয়ে বাতিল করা হবে বা, যদি সবকিছু ঠিকঠাক থাকে তবে আরও কার্যকর করার অনুমতি দেওয়া হবে।
Raw হিসাবে প্রাপ্ত অনুরোধটি বাইটের একটি অ্যারে হিসাবে উপস্থাপন করা হয়। উপলব্ধির সুবিধার জন্য, এটি একটি স্ট্রিং ( To String ব্লক) এ রূপান্তরিত করা যেতে পারে; এই ফর্মে, তথ্য লগগুলিতে সংরক্ষণ করা হয়।
এই ক্ষেত্রে, অনুরোধটি নিজেই, কোনো রূপান্তর ছাড়াই, HTTP Request ব্লক ব্যবহার করে আরও পুনঃনির্দেশিত করা যেতে পারে। এই উদাহরণে, অনুরোধের পদ্ধতি, এর URL, এবং অনুরোধের মূল অংশ ( Current Request Info ব্লক থেকে প্রাপ্ত) নির্দিষ্ট করা হয়েছে। HTTP Request ব্লকের ফলাফল সমগ্র ব্যবসা প্রক্রিয়ার ফলাফল হিসাবে ব্যবহৃত হয়।
স্ক্রিনশট চূড়ান্ত ব্যবসা প্রক্রিয়া দেখায়. অনুগ্রহ করে মনে রাখবেন যে ফাংশন ব্লকগুলি ( FUNC Save request Log এবং FUNC IP Blacklist Check ) উদাহরণ এবং শুধুমাত্র এই প্রকল্পের সুযোগের মধ্যেই বিদ্যমান৷
সুতরাং, এন্ডপয়েন্টটি তার প্রকৃত বিষয়বস্তু নির্বিশেষে যেকোনো অনুরোধের সাথে কাজ করতে ব্যবহার করা যেতে পারে। তৃতীয় পক্ষের পরিষেবাতে পাঠানো উচিত এমন সঠিক অনুরোধটি আপনার জানার প্রয়োজন নেই এবং এতে কিছু পরিবর্তন থাকলেও (একটি মডেল যোগ করা, পরামিতিগুলি পরিবর্তন করা), আপনি পরিবর্তন না করেই এন্ডপয়েন্ট ব্যবহার করা চালিয়ে যেতে পারেন। প্রকল্প