अद्यतन: पिछले सप्ताह के रूप में, एपीआई गेटवे अब समर्थन करता है कि वे क्या कहते हैं "कैच-ऑल पथ चर"। API Gateway Update – New Features Simplify API Development देखें।
आप दुर्भाग्य से प्रत्येक स्तर के लिए एक संसाधन बनाने की आवश्यकता होगी। इसका कारण यह है कि एपीआई गेटवे आपको किसी ऑब्जेक्ट के माध्यम से उन पैराम तक पहुंचने की अनुमति देता है।
उदाहरण के लिए: method.request.path.XXXX
तो अगर आप सिर्फ /{param}
आप के साथ है कि यहां पहुंच सकता था: method.request.path.param
लेकिन यदि आप एक नेस्टेड पथ (स्लैश के साथ पैरामीटर) था, यह काम नहीं करेगा। आपको पूरे अनुरोध के लिए 404 भी मिलेंगे।
यदि method.request.path.param
इसके बजाय एक सरणी थी ... तो नामित होने पर स्थिति के आधार पर पैरा प्राप्त हो सकता है। उदाहरण के लिए method.request.path.param[]
... नामित पैराम्स को वहां भी संभाला जा सकता है, लेकिन उन्हें एक्सेस करना वास्तव में आसान नहीं होगा। इसे किसी प्रकार का JSON पथ मैपिंग का उपयोग करने की आवश्यकता होगी (ऐसा लगता है कि आप अपने मैपिंग टेम्पलेट्स के साथ क्या कर सकते हैं)। अफसोस की बात यह नहीं है कि यह एपीआई गेटवे में कैसे संभाला जाता है।
मुझे लगता है कि यह ठीक है हालांकि यह एपीआई गेटवे को और भी जटिल कॉन्फ़िगर कर सकता है। हालांकि, यह एपीआई गेटवे को भी सीमित करता है और इस स्थिति को संभालने के लिए आप आखिरकार एक और भ्रमित कॉन्फ़िगरेशन के साथ समाप्त हो जाएंगे।
तो, आप यहां तक कि लंबा सफर तय कर सकते हैं। एकाधिक संसाधनों के लिए एक ही विधि बनाएं और कुछ ऐसा करें: /{1}/{2}/{3}/{4}/{5}/{6}/{7}
और इसी तरह। फिर यदि आवश्यक हो तो आप प्रत्येक पथ पैरामीटर स्तर को संभाल सकते हैं।
यदि पैरामीटर की संख्या हमेशा समान होती है, तो आप थोड़ा भाग्यशाली होते हैं और केवल संसाधनों का एक समूह स्थापित करने की आवश्यकता होती है, लेकिन अंत में एक विधि होती है।
स्रोत: https://forums.aws.amazon.com/thread.jspa?messageID=689700򨘤
यदि आप अभी भी इस जवाब की तलाश में हैं 2018, कृपया @ geekQ के उत्तर (https://stackoverflow.com/a/40608247/347777) को देखें, एक वास्तविक पकड़-सब (जो मैचों/ए/बी/सी/डी/...) अब संभव है। – Viccari