2015-03-11 4 views
12

मुझे आश्चर्य है कि क्या यह किसी विशेष एपीआई के सभी अंतराल को प्रोग्रामेटिक रूप से खोजना संभव है।क्या एक आरईएसटी एपीआई के सभी एंडपॉइंट्स खोजने का कोई तरीका है?

इसलिए उदाहरण के लिए अगर मैं एक ब्राउज़र या कर्ल के साथ इस URL प्राप्त करें: https://api.twitter.com/1.1/

मैं एक JSON प्रतिक्रिया के रूप में कुछ इस तरह हो सकती है:

{"TwitterAPI":{ 
    "version" : 1.1, 
    "GET" : { 
     "search/" : ["users", "trending"], 
     "users/" : ["id", "handle"] 
    } 
} 

बेशक ट्विटर या प्रकाशित करने के लिए चुन सकते हैं इस प्रारूप को प्रकाशित न करें। तो एक साइड सवाल के रूप में, जावा या जावास्क्रिप्ट के लिए कोई पुस्तकालय हैं जो आपके नियंत्रकों में बनाए गए एपीआई मार्गों को स्वचालित रूप से मानचित्रित और प्रकाशित करेंगे?

+1

यह निर्भर करता है कि निर्माता ने खोज सेवा की तरह कुछ किया है या नहीं। यदि नहीं, तो मुझे डर है कि आप नहीं कर सकते। –

उत्तर

12

प्रोग्राम के रूप में बाकी सेवाओं का पता चलने के रूप में वे एक मानक रजिस्ट्री सेवा की जरूरत नहीं है की कोई तरीका नहीं है।

कुछ पागल ब्रूट-बल खोज करने के अलावा सही यूआरएल खोजने के लिए कोई रास्ता नहीं है (सही पैरामीटर का उल्लेख नहीं करना)। तो एकमात्र विकल्प आपके एपीआई को दस्तावेज कर रहा है। उसके लिए सबसे अच्छा विकल्प मैं अब तक देखा है:

+0

संदर्भ के लिए महान उत्तर धन्यवाद! नीचे WADL उत्तर भी बहुत अच्छा है, लेकिन मुझे लगता है कि ये सुझाव थोड़ा और उपयोगी हैं। – 4m1r

+0

वास्तव में, कुछ लोगों के लिए यह अनुत्तरित छोड़ने वाला होगा और देखें कि क्या हमें कुछ और उपयोगी उत्तर नहीं मिल सकते हैं। – 4m1r

7

कुछ रीस्टफुल एपीआई एक वेब अनुप्रयोग विवरण भाषा संसाधन प्रकाशित करते हैं (डब्ल्यूएडीएल - बतख की तरह चलने की तरह उच्चारण - संक्षेप में)। जेएक्स-आरएस, या कम से कम जेर्सी वेबपैप्स डिफ़ॉल्ट रूप से एप्लिकेशन रूट URL /application.wadl पर ऐसा करेंगे। ऐसा नहीं लगता है कि ट्विटर का एपीआई इनमें से एक है। कई आरईएसटी शुद्धवादियों का तर्क है कि एपीआई स्वयं के साथ बातचीत करके और स्वयं को अन्य अंतराल के बारे में बताकर स्वयं का वर्णन और स्वयं खोजा जा सकता है।

More about WADL from wikipedia...

संबंधित मुद्दे