2008-10-03 14 views
54

मैं रीस्टफुल सेवाओं को डीबग करने का एक आसान तरीका ढूंढ रहा हूं। उदाहरण के लिए, अधिकांश वेबपैप्स को आपके औसत वेब ब्राउज़र का उपयोग करके डीबग किया जा सकता है। दुर्भाग्य से वही ब्राउज़र मुझे HTTP PUT, DELETE, और एक निश्चित डिग्री तक भी HTTP पोस्ट का परीक्षण करने की अनुमति नहीं देगा।रीस्टफुल सेवाओं को डीबग कैसे करें?

मैं परीक्षण स्वचालित करने की तलाश नहीं कर रहा हूं। मैं एक त्वरित सैनिटी चेक के माध्यम से आदर्श रूप से अपना खुद का ग्राहक लिखने के बिना नई सेवाओं को चलाने के लिए चाहता हूं।

उत्तर

32

मौजूदा 'REST क्लाइंट' टूल का उपयोग करें जो RESTClient जैसे अनुरोधों और प्रतिक्रियाओं का निरीक्षण करना आसान बनाता है।

+0

ये दोनों अत्यंत दिलचस्प टूल की तरह दिखते हैं, पॉइंटर्स के लिए धन्यवाद! – rjray

+0

मैं पहले का उपयोग कर रहा हूं, मेरे लिए बस अच्छा काम करता है। – Forhad

+0

मैंने एक आरईएसटी क्लाइंट प्लगइन लिखा है जिसे सब्लिमे टेक्स्ट के लिए अनुरोधकर्ता कहा जाता है, https://github.com/kylebebak/Requester। यह HTTPie और पोस्टमैन से प्रेरित है। यह बहुत शक्तिशाली और उपयोग करने में आसान है, और यह क्रॉस-प्लेटफ़ॉर्म है। यदि आप अपने HTTP क्लाइंट से प्यार नहीं करते हैं तो यह निश्चित रूप से प्रयास करने योग्य है। – kylebebak

4

आप restful services डिबग करने के लिए Fiddler के Composer उपयोग कर सकते हैं ..

अपडेट किया गया जद 12 सितं, 2013: बाकी बिल्डर अब संगीतकार कहा जाता है।

+0

लिंक का अनुरोध करने के लिए बिल्डर से ऊपर टूट गया है। – helcim

0

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

3

cURL बस ठीक काम करता है।

0

मैं Google Code से उपलब्ध restclient का उपयोग करता हूं। यह एक साधारण जावा स्विंग एप्लिकेशन है जो सभी HTTP विधियों का समर्थन करता है, और आपको HTTP शीर्षलेख, कनेक्शन, आदि पर पूर्ण नियंत्रण की अनुमति देता है।

0

मैं Jersey का उपयोग करके रिकस्ट संसाधनों के लिए यूनिट परीक्षण लिखता हूं जो एक अच्छा REST क्लाइंट के साथ आता है। अच्छी बात यह है कि यदि आप जेएक्स-आरएस का उपयोग करके अपने रिस्टफुल संसाधनों को लागू करते हैं तो जर्सी क्लाइंट इकाई प्रदाताओं जैसे JAXB/XML/JSON/Atom के लिए पुन: उपयोग कर सकता है - ताकि आप उसी ऑब्जेक्ट को सर्वर के पक्ष में पुन: उपयोग कर सकें क्लाइंट साइड यूनिट परीक्षण पर उपयोग करें।

उदाहरण के लिए here is a unit test caseApache Camel project से जो एक विश्वसनीय संसाधन से एक्सएमएल पेलोड को देखता है (जेएक्सबी ऑब्जेक्ट एंडपॉइंट्स का उपयोग करके)। संसाधन (यूरी) विधि this base class में परिभाषित की गई है जो सिर्फ जर्सी क्लाइंट एपीआई का उपयोग करती है।

उदा।

clientConfig = new DefaultClientConfig(); 
client = Client.create(clientConfig); 

resource = client.resource("http://localhost:8080"); 
// lets get the XML as a String 
String text = resource("foo").accept("application/xml").get(String.class); 
15

मेरी फर्म हम विभिन्न उपकरणों की एक किस्म का उपयोग और RESTful सेवाओं का परीक्षण करने के लिए दृष्टिकोण:

  • हम cURL स्क्रिप्ट लिखने - अनिवार्य रूप से एक भी आदेश एक फ़ाइल में सहेजा। प्रति फ़ाइल प्रति संसाधन एक फ़ाइल। पुट और पोस्ट के लिए, हमारे पास आमतौर पर कर्ल स्क्रिप्ट के साथ भेजने के लिए प्रस्तुतियां होती हैं। उदाहरण के लिए, मेलबॉक्स संसाधन के लिए, हमारे पास mailbox_post.cmd नाम की एक फ़ाइल हो सकती है, जिसमें curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailbox पंक्ति हो सकती है। हमें इस दृष्टिकोण को पसंद है क्योंकि हम परीक्षणों का संग्रह तैयार करते हैं जिन्हें बैच में चलाया जा सकता है, या कम से कम टेस्टर्स के बीच पारित किया जा सकता है, और रिग्रेशन परीक्षण के लिए उपयोग किया जाता है।

  • हम तदर्थ के लिए cURL और RESTClient का उपयोग परीक्षण

  • हम सेवा है, डिफ़ॉल्ट रूप से एक्सएचटीएमएल की सेवा तो यह ब्राउज़ करने योग्य है, और रूपों संसाधनों को जोड़ने, तो सेवा वास्तव में एक ब्राउज़र का उपयोग आंशिक या पूर्ण परीक्षण योग्य है । यह आंशिक रूप से RESTful Web Services के कुछ हिस्सों से प्रेरित था, जिसमें लेखकों ने दिखाया कि वेब सेवाओं और वेब अनुप्रयोगों के बीच की रेखा को आमतौर पर ठोस और सख्त होने की आवश्यकता नहीं है।

  • हम ढांचे के उपयोग से Groovy क्लोजर के रूप में कार्यात्मक परीक्षण लिखते हैं, और परीक्षण धावक ग्रोवी स्क्रिप्ट के साथ परीक्षण चलाते हैं। यह उपयोगी है क्योंकि परीक्षण उचित होने पर, एक दूसरे पर निर्माण, और चर साझा कर सकते हैं। हम रेस्टलेट के एपीआई को सरल और सहज समझने के लिए पाते हैं, और त्वरित HTTP अनुरोध लिखना और प्रतिक्रियाओं का परीक्षण करना इतना आसान है, और ग्रोवी में उपयोग किए जाने पर यह और भी आसान है। (मैं जल्द ही इस तकनीक को साझा करने के लिए आशा है, परीक्षण धावक स्क्रिप्ट सहित our blog पर।)

5

एक उपकरण जो मुझे उपयोगी आप OS X Leopard चला रहे हैं:

HTTP Client

यह एक बहुत ही सरल जीयूआई प्रोग्राम है जो आपको संसाधनों के लिए http अनुरोधों को तैयार करने और प्रतिक्रिया देखने की अनुमति देता है। फ़ायरफ़ॉक्स (एक एड-ऑन) के लिए

2

RESTTest। आईई के लिए Fiddler

+0

रेस्टटेस्ट अक्षम कर दिया गया है (12 सीईपी 2013) –

0

आप बहुखण्डीय प्रपत्र डेटा प्रस्तुत करने की अतिरिक्त सुविधा के साथ एक ही उद्देश्य के लिए नि: शुल्क उपकरण चाहते हैं इसे यहाँ है http://code.google.com/a/eclipselabs.org/p/restclient-tool/

0

फायरफॉक्स के RESTClient प्लग में है तरीकों, मानकों, हेडर आदि के साथ विभिन्न अनुरोध भेजने के लिए

0

आपको लोगों को poster फ़ायरफ़ॉक्स के लिए एक्सटेंशन की जांच करनी चाहिए, यह उपयोग करने के लिए पर्याप्त सरल और उपयोगी है :)

12

Postman, एक Google क्रोम एक्सटेंशन, सहायक हो सकता है।

+0

यह अपेक्षाकृत नया विस्तार है, लेकिन अनुरोधों के सेट को सहेजने की क्षमता के लिए, और उन्हें प्रबंधित/साझा करने के लिए एक अच्छा इंटरफ़ेस, मैं इसे बहुत अधिक अनुशंसा करता हूं। – ocodo

+0

पोस्टमैन हम फ़ाइल अनुरोधों को मल्टीपार्ट डेटा के रूप में भी अपलोड कर सकते हैं – R2R

2

मैं अपने आरईएसटी एपीआई का परीक्षण करने के लिए सोप यूआई का उपयोग कर रहा हूं।

यह किसी भी अन्य उपकरणों की तुलना में अधिक पूरा हो गया है:

  • ठीक डिबग अनुरोध और प्रतिक्रियाओं
  • स्वचालित परीक्षण
  • सभी जीयूआई आधारित
  • गुण और गुण अपने परीक्षण
  • सशर्त parameterize करने के लिए हस्तांतरण परीक्षण
  • प्रदर्शन परीक्षण

मैं स्मार्टबियर के लिए काम नहीं कर रहा हूं। एसओएपी वेब सर्विसेज के लिए इसका इस्तेमाल करते समय मैं सोपूआई का एक बड़ा प्रशंसक था।

My SoapUI REST Project

3

मैं POSTMAN

पर बसने यह सब बाकी सुविधाओं मैं के बारे में सोच सकता है समर्थन करता है, समाप्त हो गया है, और यूआई बिल्कुल उत्कृष्ट है। केवल नकारात्मक पक्ष यह है कि इसे क्रोम की आवश्यकता है।

8

मुझे REST अनुरोधों को डीबग करने के लिए RequestBin उपयोगी पाया गया है। एक अद्वितीय यूआरएल पर पोस्ट करें और अनुरोध डेटा अद्यतन/प्रदर्शित होते हैं। अन्य उपकरण उपलब्ध नहीं होने पर चुटकी में मदद कर सकते हैं।

http://requestb.in/

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