व्यवसाय प्रक्रिया के लिए एक समापन बिंदु बनाते समय, आपको उस डेटा के प्रकार को निर्दिष्ट करना होगा जो इस अनुरोध में भेजा जाएगा ( Request payload type )। सबसे आम विकल्प JSON है; यह आपको सभी आवश्यक मापदंडों को आसानी से निर्दिष्ट करने और डेटा मॉडल या ऑब्जेक्ट की एक सरणी पास करने की अनुमति देता है। इसके अलावा, अन्य विकल्प संभव हैं, उदाहरण के लिए, XML या Multipart Form (यदि आपको फाइल भेजने की आवश्यकता है)।
साथ ही, ऐसी स्थिति स्वीकार्य होती है जब सटीक संरचना पहले से ज्ञात नहीं होती है (या इससे कोई फर्क नहीं पड़ता)। इस मामले में, " raw " प्रश्नों का उपयोग करना एक उचित विकल्प है।
raw अनुरोधों के लिए व्यावसायिक प्रक्रिया
ऐसी स्थिति की कल्पना करें जहां इसकी आवश्यकता हो। मान लीजिए कि हम जो सेवा विकसित कर रहे हैं वह सिर्फ एक जोड़ने वाली कड़ी है। इसका कार्य उपयोगकर्ता से अनुरोध प्राप्त करना, प्राधिकरण की जांच करना, लॉग को सहेजना, स्पैम सुरक्षा करना और अनुरोध को आगे पुनर्निर्देशित करना है यदि सब कुछ क्रम में है।
Raw प्रश्नों की एक महत्वपूर्ण विशेषता यह है कि व्यावसायिक प्रक्रियाओं को डिजाइन करते समय किसी इनपुट पैरामीटर का उपयोग नहीं किया जाता है। इसके बजाय, अनुरोध निकाय प्राप्त करने के लिए एक विशेष ब्लॉक का उपयोग किया जाता है - अनुरोध निकाय Get Request Body । मान लीजिए कि आप अनुरोध के बारे में विस्तृत जानकारी में रुचि रखते हैं। उस स्थिति में, Current Request Info ब्लॉक एक उपयुक्त विकल्प है - यह न केवल अनुरोध निकाय बल्कि अतिरिक्त पैरामीटर और अनुरोध शीर्षलेख भी लौटाता है।
मामले में जब हम अनुरोध से किसी विशिष्ट शीर्षलेख में रुचि रखते हैं, तो इसे अनुरोध प्राप्त Get Request Header ब्लॉक का उपयोग करके प्राप्त किया जा सकता है। ऊपर दिया गया उदाहरण X-Real-IP हेडर पढ़ता है, जिसमें अनुरोध का आईपी पता होता है। परिणामी आईपी को एक फ़ंक्शन को पास किया जाता है जो यह जांचना चाहिए कि दिया गया आईपी मान्य है और प्रतिबंधित पते की ब्लैकलिस्ट पर नहीं है। नतीजतन, प्रक्रिया या तो एक उपयुक्त त्रुटि संदेश के साथ निरस्त कर दी जाएगी या, यदि सब कुछ क्रम में है, तो आगे निष्पादन की अनुमति दी जाएगी।
Raw के रूप में प्राप्त अनुरोध को बाइट्स की एक सरणी के रूप में दर्शाया गया है। धारणा की सुविधा के लिए, इसे एक स्ट्रिंग में परिवर्तित किया जा सकता है ( To String ब्लॉक); इस रूप में, जानकारी लॉग में संग्रहीत की जाती है।
इस मामले में, अनुरोध स्वयं, बिना किसी परिवर्तन के, HTTP Request ब्लॉक का उपयोग करके आगे पुनर्निर्देशित किया जा सकता है। इस उदाहरण में, अनुरोध विधि, उसका URL और अनुरोध निकाय ( Current Request Info ब्लॉक से प्राप्त) निर्दिष्ट हैं। HTTP Request ब्लॉक का परिणाम संपूर्ण व्यावसायिक प्रक्रिया के परिणाम के रूप में उपयोग किया जाता है।
स्क्रीनशॉट अंतिम व्यावसायिक प्रक्रिया दिखाता है। कृपया ध्यान दें कि फ़ंक्शन ब्लॉक ( FUNC Save request Log और FUNC IP Blacklist Check ) उदाहरण हैं और केवल इस प्रोजेक्ट के दायरे में मौजूद हैं।
इस प्रकार, समापन बिंदु का उपयोग किसी भी अनुरोध के साथ काम करने के लिए किया जा सकता है, चाहे उसकी वास्तविक सामग्री कुछ भी हो। आपको उस सटीक अनुरोध को जानने की आवश्यकता नहीं है जिसे किसी तृतीय-पक्ष सेवा को भेजा जाना चाहिए, और भले ही इसमें कुछ बदलाव हों (एक मॉडल जोड़ना, पैरामीटर का नाम बदलना), आप में बदलाव किए बिना समापन बिंदु का उपयोग करना जारी रख सकते हैं। परियोजना।