2011-02-11 16 views
25

मैंने सफलतापूर्वक एक PHP REST API बनाया है जो मेरे सर्वर पर रहता है। अब मैं अपने डब्ल्यूपीएफ सी # एप्लिकेशन के माध्यम से क्लाइंट-साइड कनेक्शन बनाने की तलाश में हूं। मुझे this मिला लेकिन मेरे एपीआई को एपीआई कुंजी को HTTP शीर्षलेख के माध्यम से भेजने की आवश्यकता है, और मैं नहीं देख सकता कि आप इसमें ऐसा कर सकते हैं। मैंने कर्ल का उपयोग करके एक PHP REST क्लाइंट भी बनाया और यह बहुत आसान था, और उम्मीद कर रहा था कि आरईएसटी सेवाओं के अनुरोधों को संभालने के लिए सी # में कुछ बनाया जाएगा।सी # आरईएसटी एपीआई क्लाइंट

अगर कोई मुझे ट्यूटोरियल की दिशा में इंगित कर सकता है, या कहीं लाइब्रेरी मैं आभारी रहूंगा।

धन्यवाद।

उत्तर

46

RESTSharp पर एक नज़र डालें। बहुत शक्तिशाली, और उपयोग करने में आसान है।

सभी प्लेटफार्मों पर काम करता है

भी: वेब, विंडोज, WCF, Monotouch, विंडोज फोन

+0

बिल्कुल सही, बस मैं जो देख रहा था! –

5

तुम भी चाहते हो सकता है बाहर Hammock.NET @http://hammock.codeplex.com/ जाँच करने के लिए; यह काम करने के लिए एक खुशी है। आपको वास्तव में सभी संभावनाओं में डब्ल्यूसीएफ की आवश्यकता नहीं है।

12

तुम बस HttpWebRequest या WebClient उपयोग कर सकते हैं वेब अनुरोध करने के लिए की तरह आप अपने PHP क्लाइंट में कर्ल के साथ होता है ...

आप JSON आधारित प्रतिक्रियाओं से निपटने के लिए की जरूरत है, JSON.Net एक शानदार पुस्तकालय है।

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://a/rest/uri"); 
request.Method = "POST"; 
request.Headers.Add("Authorization: OAuth " + accessToken); 
string postData = string.Format("param1=something&param2=something_else"); 
byte[] data = Encoding.UTF8.GetBytes(postData); 

request.ContentType = "application/x-www-form-urlencoded"; 
request.Accept = "application/json"; 
request.ContentLength = data.Length; 

using (Stream requestStream = request.GetRequestStream()) 
{ 
    requestStream.Write(data, 0, data.Length); 
} 

try 
{ 
    using(WebResponse response = request.GetResponse()) 
    { 
     // Do something with response 
    } 
} 
catch (WebException ex) 
{ 
    // Handle error 
} 
6

इसके अलावा, आप .NET 4.5 में HttpClient उपयोग कर सकते हैं।
यदि आप .NET 4.0 का उपयोग कर रहे हैं, तो HttpClient API Microsoft.Net.Http nuget में उपलब्ध है।

+0

यह नया डॉटनेट 4.5 पुस्तकालयों के अनुसार उत्तर है। – Askolein

1

यदि आपका PHP REST API बैकएंड Swagger के साथ प्रलेखित है, उदा। swagger-php का उपयोग करके, आप अपने PHP बैकएंड का वर्णन करने वाले स्वैगर स्पेक का उपयोग करके सी #, जावा, पीएचपी, रूबी, पायथन और एपीआई क्लाइंट में एपीआई क्लाइंट जेनरेट करने के लिए swagger-codegen का उपयोग कर सकते हैं।

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