वेब सेवा के द्वारा समर्थित डेटा की इंटरनेट मीडिया प्रकार के लिए
देखें, http://en.wikipedia.org/wiki/Representational_state_transfer।
अब, इसके साथ ही, मैं नीचे दिए गए छद्म कोड के करीब कुछ होने के लिए अपने उपरोक्त कोड को बदलने का सुझाव दूंगा।
1) संसाधनों का अस्तित्व महत्वपूर्ण है, संसाधनों के संग्रह के रूप में आपके पदों के बारे में सोचें जिन्हें यूआरआई द्वारा उपयोग किया जा सकता है।(प्रमाणीकरण & प्राधिकरण अन्य चिंताओं है कि आप भी संभाल करने के लिए चाहते हो सकता है कर रहे हैं):
api.domain.com/resources/posts =>
2 पोस्ट) का एक संग्रह करने के लिए इस यूआरआई अंक आपरेशन के सेट है कि आप HTTP तरीकों का उपयोग कर समर्थन करना चाहते हैं जाएगा/क्रिया, परिभाषित करने की जरूरत है एक उदाहरण के रूप में हम ऐसा करके संग्रह में से एक सदस्य को पुनः प्राप्त करना चाह सकते हैं:
api.domain.com/resources/posts/12
नीचे अनुरोध हैडर & शरीर जो आने वाले में पाया जा सकता है इस यूआरआई के लिए अनुरोध:
स्वीकार करें: आवेदन/json
सामग्री प्रकार: आवेदन/json
अनुरोध यूआरएल: http://api.domain.com/resources/posts/12
अनुरोध विधि: प्राप्त
आपका आवेदन के प्रकार को संभालने के लिए सक्षम होना चाहिए अनुरोध, यूआरआई में ऑपरेशन को निर्धारित करने की आवश्यकता के बिना, हमें वापस बिंदु (1),
यूआरआई लिखने के बजाय इस तरह लिखा:
domain.com/api/posts/ सभी
आपका यूआरआई मॉडल इस तरह से किया जाना चाहिए:
संसाधनों/पदों/12 के रूप में संसाधनों/प्रकार/आइटम संग्रह से एक सदस्य को पुनः प्राप्त करने,
पूरे संग्रह के साथ काम करने के लिए संसाधन/प्रकार संसाधन/प्रकार के रूप में पोस्ट।
आम अमूर्त वर्ग यहाँ आप कुछ सामान्य कार्यों को लागू कर सकते हैं:
यहाँ कोड का एक उदाहरण है। यदि आप सेवा आधारित कार्यान्वयन का उपयोग कर रहे हैं तो यह एक सेवा द्वारा भी पूरा किया जा सकता है।
abstract class ResourcesController extends AppController {
}
class PostResourcesController extends ResourcesController {
/**
* By the time this method is called in your controller/class, you already know
* that the HTTP method is GET.
*
* @param Request\$_GET $request A request instance
* @param int $postId The post ID to retrieve
*
* @return Response A reponse instance
*/
function getPost(Request $Request, $postId = null)
{
/**
* Here you can use the request object to get
* the response content type
* the requesting client accepts. Example JSON or XML.
*/
/**
* using the $postId you can then query your database
* to retrieve a post with that ID or use a sort of
* service.
*/
/**
* Once you implemented a you logic
* you can build a response to return.
*/
}
}
इस कोड को अधूरा है, लेकिन मुझे आशा है कि यह तुम क्या एक असली RESTful API कैसा लग सकता है की एक विचार देता है।
यह सुनिश्चित करने के लिए कुंजी है कि
"एप्लिकेशन दो चीजों को जानकर संसाधन के साथ बातचीत कर सकता है: संसाधन की पहचानकर्ता और कार्रवाई आवश्यक"।
उम्मीद है कि इससे मदद मिली।
यदि आप अपने फोनगैब ऐप के अंदर सेन्चा टच का उपयोग करते हैं, तो आप रीस्टफुल के बजाय [Ext.Direct कार्यान्वयन] (http://banchaproject.org) का भी उपयोग कर सकते हैं। –