RestSharp सरल पूर्ण उदाहरण [बंद]


95

मैं एक साधारण प्रोटोटाइप वेब एप्लिकेशन बनाने की कोशिश कर रहा हूं जो रेस्ट एपीआई को कॉल करने के लिए रेस्टशारप का उपयोग करता है।

मुझे इसका एक भी अच्छा उदाहरण नहीं मिल पाया है। क्या कोई कृपया मुझे साझा कर सकता है और मुझे सही संसाधन के लिए निर्देशित कर सकता है? मैंने पहले ही निम्नलिखित को देखा है, और वह नहीं प्रदान कर रहा हूँ जो मैं देख रहा हूँ अर्थात पूरी तरह कार्यात्मक उदाहरण:

http://restsharp.org/ (उदाहरण के साथ पूर्ण आवेदन नहीं है)

http://www.stum.de/2009/12/22/use-restsharp-to-consume-restful-web-services/ (पुराना प्रतीत होता है)

प्रोटोटाइप करते समय मुझे नीचे कोड के लिए त्रुटि मिलती है:

RestResponse response = client.Execute(request);

*Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?)  *

@ जॉनसन की तरह दिखता है टवीलियो HttpClient और न ही restsharp का उपयोग करता है
tatigo

जवाबों:


21

मैं इस विषय पर एक ब्लॉग पोस्ट खोजने में कामयाब रहा, जो एक ओपन सोर्स प्रोजेक्ट से लिंक करता है जो रेस्टशार को लागू करता है। आपसे कुछ मदद की उम्मीद है।

http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-ac-developer/ ब्लॉग पोस्ट एक 2 पार्टर है, और परियोजना यहाँ है: https://github.com/ dkarzon / DropNet

यदि आप काम नहीं कर रहे थे, तो इसका पूरा उदाहरण आपके पास हो सकता है। यदि आप कोड प्रदान नहीं करते हैं तो क्लाइंट कैसे सेट किया गया था, इस पर संदर्भ प्राप्त करना मुश्किल है।


hi @pmms, मूल रूप से मैं यहाँ से stum.de/2009/12/22/… से कोड को फॉलो करने की कोशिश कर रहा हूँ, लेकिन मुझे वह त्रुटि मिलती है जो मैंने अपने मूल प्रश्न पर वर्णित की थी।
नील पुं

क्षमा करें, यह कॉर्पोरेट नेटवर्क के अंदर से नहीं पहुंच सकता है। मैं बाद में देखने की कोशिश करूंगा।
pms1969

7
ठीक है, उदाहरण को देखते हुए, वे "var" का उपयोग करते हैं, आप RestResponse का उपयोग कर रहे हैं। या तो "var" या IRestResponse का उपयोग करके देखें। वे एक सामान्य निष्पादन का उपयोग भी कर रहे हैं।
pms1969

अंत में एक सभ्य उदाहरण, चीयर्स!

जैसा कि अभी है, यह एक लिंक-केवल उत्तर है।
एलेक्स

134

Pawel Sawicz .NET ब्लॉग में एक वास्तविक अच्छा स्पष्टीकरण और उदाहरण कोड है, जिसमें बताया गया है कि कैसे लाइब्रेरी को कॉल किया जाए;

प्राप्त:

var client = new RestClient("192.168.0.1");
var request = new RestRequest("api/item/", Method.GET);
var queryResult = client.Execute<List<Items>>(request).Data;

पद:

var client = new RestClient("http://192.168.0.1");
var request = new RestRequest("api/item/", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(new Item
{
ItemName = someName,
Price = 19.99
});
client.Execute(request);

हटाएँ:

var item = new Item(){//body};
var client = new RestClient("http://192.168.0.1");
var request = new RestRequest("api/item/{id}", Method.DELETE);
request.AddParameter("id", idItem);

client.Execute(request)

RestSharp GitHub पेज पेज नीचे काफी एक संपूर्ण नमूना आधे रास्ते है। अपने प्रोजेक्ट में RestSharp NuGet पैकेज स्थापित करना शुरू करने के लिए, फिर अपने कोड में आवश्यक नामस्थान संदर्भों को शामिल करें, फिर ऊपर दिए गए कोड को काम करना चाहिए (संभवतः पूर्ण उदाहरण के आवेदन के लिए आपकी आवश्यकता को नकारना)।

नुगेट रेस्टशर


यह लापता पैरामीटर और हेडर है
क्रिस्टीना लेक्स

आपका पहला GET उदाहरण काम नहीं करता है:The type or namespace name 'List<>' could not be found The type or namespace name 'Items' could not be found
एलेक्स जी

26

बदलना

RestResponse response = client.Execute(request);

सेवा

IRestResponse response = client.Execute(request);

मेरे लिए काम किया।


3
याvar response = client.Execute(request) as RestResponse;
JohnTube

1
Google खोज के माध्यम से यहां किसी को भी जाने देने के लिए; IRestResponse में बदलने से टाइप किए गए कॉल में मदद मिलती है। IRestResponse <DummyData> typedResponse = client.Execute <DummyData> (अनुरोध); उम्मीद के मुताबिक काम करता है, लेकिन रेस्ट्रापेंट <डमीडाटा> टाइपड्रेसन = क्लाइंट। एक्स्यूट्यूट <डमीडाटा> (अनुरोध); नहीं करता।
महोना

आप जो लौटाए जाते हैं उस पर निर्भर करता है। उदाहरण के लिए मेरे मामले में मैं उपयोग कर रहा हूं response.Data क्योंकि मैं ऐसा कर var response = Client.Execute<List<Skill>>(request); रहा हूं जिसमें मैं लौटता हूं return response.Data; इसलिए मेरे लिए मैं वास्तव में पहले से ही varestResponse का उपयोग var के साथ कर रहा हूं क्योंकि अगर मुझे स्पष्ट था कि यह IRestResponse<List<Skill>>प्रतिक्रिया के लिए होगा - अन्यथा उत्तर सही है! बस एक टिप्पणी जोड़ने
टॉम स्टिकल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.