मैं पर्ल में एक रीस्टफुल एपीआई लागू करने की कोशिश कर रहा हूं। मेरा वर्तमान विचार बस regex के साथ path_info को पार्स करना है, फिर उपयुक्त सबराउटिन को अनुरोध भेज दें जो अनुरोधित संसाधन के लिए JSON, XML या यहां तक कि एक्सएचटीएमएल को थूक देगा।मैं पर्ल में एक विश्वसनीय API कैसे कार्यान्वित कर सकता हूं?
उदाहरण उपयोगकर्ता 1234 के बारे में जानकारी प्राप्त करने में लिए RESTful ग्राहक पर इसे खोजने चाहिए:
:
http://example.com/model.pl/users/1234
नीचे एक RESTful API को लागू करने में मेरा पहला प्रयास का कंकाल कोड है model.pl:
#!/usr/bin/perl -w
use strict;
use CGI;
my $q = CGI->new();
print $q->header('text/html');
my $restfuluri = $q->path_info;
if ($restfuluri =~ /^\/(questions)\/([1-9]+$)/) { questions($1, $2); }
elsif ($restfuluri =~ /^\/(users)\/([1-9]+$)/) { users($1, $2); }
sub questions
{
my $object = shift;
my $value = shift;
#This is a stub, spits out JSON or XML when implemented.
print $q->p("GET question : $object -> $value");
}
sub users
{
my $object = shift;
my $value = shift;
#This is a stub, spits out JSON or XML when implemented.
print $q->p("GET user: $object -> $value");
}
आगे बढ़ने से पहले, मैं अनुभवी पर्ल हैकर्स से सुनना चाहता हूं कि मुझे मूलभूत विचार सही है और यदि प्रदर्शन के संदर्भ में इस दृष्टिकोण के साथ कोई गंभीर कमी है।
मैं कल्पना कर सकता हूं, थोड़ी देर बाद, अगर/अन्य ब्लॉक वास्तव में बड़ा हो जाएगा।
इस कोड को बेहतर बनाने के लिए अपने विचारों को सुनने के लिए तत्पर हैं।
मैं सुझाव दे सकते हैं कि यदि आप उद्देश्य एक RESTful API कि आप बाकी के बारे में सीखने के लिए कुछ और अधिक समय बिताने का निर्माण होता है । अस्थायी इंटरफेस एक्सएमएल और जेएससीओएन वितरित करने के लिए सुंदर यूआरएल का उपयोग करने के बारे में नहीं हैं। –
स्टैक ओवरव्लो पर अन्य प्रश्नों की जांच करें जो आरईएसटी को विस्तार से समझाते हैं। – aehlke
कृपया मुझे गलत न करें, मुझे पता है कि आरईएसटी क्या है और मुझे आरईएसटी के उपयोग और दुरुपयोग के बारे में पता है। मुझे सिर्फ एक विरासत ऐप के लिए एक विश्वसनीय API प्रदान करने का एक त्वरित और गंदा तरीका चाहिए। इसमें एक अच्छी तरह से विकसित डेटा परत है, मुझे बस इतना करना है कि लोगों को सुंदर यूआरआई का उपयोग करके JSON या XML के रूप में स्वरूपित डेटा तक पहुंचने दें। मैं उन सामानों को बनाए रखता हूं जिन्हें सेक्सी से अधिक विश्वसनीय होना चाहिए। मैंने रीस्टफुल वेब सर्विसेज O'Reilly पुस्तक और ब्रायन की अधिकांश पुस्तकें पढ़ने से पहले भी जानबूझ कर लिया है। मुझे लगता है कि यह एक कानूनी सवाल है। इसके अलावा, अधिकांश चर्चा रूबी के बारे में बात करती है। धन्यवाद। दुर्भाग्य से, – GeneQ