2012-05-18 14 views
7

कैसे क्षमा करें यह क्षमा करें यदि यह एक मूल प्रश्न है। लेकिन मैं अपनी वेबसाइट के लिए एपीआई बनाने की योजना बना रहा हूं। सबसे पहले यह एपीआई मेरे द्वारा उपयोग किया जाएगा लेकिन बाद में मैं डेवलपर्स के लिए इसे इस्तेमाल करने के लिए रिलीज करूंगा। मैं उलझन में हूं, यह वेबसाइट मोबाइल ऐप्स और वेबसाइटों दोनों के लिए उपयोग की जा रही है। मैं इसके लिए एंड्रॉइड ऐप बनाने की योजना बना रहा हूं।जेसन एपीआई

सवाल यह है कि मुझे एंड्रॉइड प्लेटफॉर्म के लिए जावा में विभिन्न एपीआई बनाने के लिए, आईओएस के लिए उद्देश्य सी और वेब के लिए जावास्क्रिप्ट और PHP के लिए यह एपीआई बनाना है?

क्या यह कई प्लेटफार्मों के लिए काम करेगा यदि मैं इसे केवल जावास्क्रिप्ट में बना देता हूं?

उत्तर

7

सर्वर की ओर, आपके JSON API को एक प्लेटफ़ॉर्म पर एक भाषा में लिखा जाएगा, यह PHP, .NET या आपकी पसंद का कोई भी प्लेटफ़ॉर्म हो सकता है।

क्लाइंट साइड (आईफोन, एंड्रॉइड, आदि) पर आपको एक क्लाइंट लिखना होगा जो आपके JSON API पर अनुरोध करने और प्रतिक्रियाओं को संभालने में सक्षम है।

हालांकि, अपने क्लाइंट एपीआई में स्थिरता को लागू करने के लिए आप अनुरोध-उत्तर पैटर्न जैसे पैटर्न को नियोजित कर सकते हैं, मैं इसे हर समय उपयोग करने और कार्यान्वित करने के लिए उपयोग करता हूं।

विचार प्रत्येक JSON API विधि के लिए है, आपके पास एक अनुरोध कक्षा है, और एक प्रतिक्रिया वर्ग है। आप एक सेवा क्लाइंट भी लिखेंगे जो आपके JSON API का प्रतिनिधित्व करता है। जावा में

/contact/{id} 
/address_book 
/save_contact/{id} 

मेरी सेवा ग्राहक (उदाहरण:

एक उदाहरण

चलो कहते हैं कि मैं एक JSON सेवा कि मुझे मेरी पता पुस्तिका से सम्पर्क करने का विवरण देता है करते हैं, यह इन सेवा तरीकों हो सकता था) में यह इंटरफ़ेस हो सकता है:

public interface AddressBookClient { 
    public GetContactResponse getContact(GetContactRequest request); 
    public GetAddressBookResponse getAddressBook(GetAddressBookRequest request); 
    public SaveContactResponse saveContact(SaveContactRequest request); 
} 

हालांकि कार्यान्वयन क्लाइंट प्लैटफ़ोफ़ में अलग होगा आरएमएस, एक ही दृष्टिकोण या पैटर्न का उपयोग करके उन्हें लगातार बनाए रखेंगे।

उम्मीद है कि मदद करता है।

6

मैं जेएसओएन आधारित आरईएसटी पूर्ण एपीआई की तरह कुछ सुझाव दूंगा।

इससे आपकी एपीआई भाषा स्वतंत्र हो जाती है।

एक बार एपीआई बनने के बाद आप लोकप्रिय भाषाओं में क्लाइंट लाइब्रेरी बना सकते हैं।

+4

मुझे उत्तर देने पर एक कारण की उम्मीद है। –

3

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

आप official JSON site पर विभिन्न भाषाओं के लिए पुस्तकालयों की विस्तृत सूची देख सकते हैं।

1

मैं JSON अनुरोध करने के लिए एक यूआरएल का उपयोग कर रहा:

api.example.com/api.php?action=User.login&username=admin&password=111 

JSON प्रतिक्रिया है:

{ 
    "resultcode":100, 
    "resultdata":{ 
     "id":"1", 
     "username":"admin", 
     "password":"$1$$TUPijxhaACBBZHMowbtgD.", 
     "name":"chenwendong", 
     "email":"[email protected]", 
     "sex":"\u7537", 
     "age":"11", 
     "phone":"15811111111", 
     "address":"\u5317\u4eac\u7231\u7231\u7231\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a", 
     "province_id":"1", 
     "city_id":"1", 
     "last_login_ip":"127.0.0.1", 
     "last_login_time":"2012-05-07 17:32:55", 
     "state":"1", 
     "intime":"2012-05-07 09:49:11", 
     "is_deleted":"0", 
     "province":"\u5317\u4eac\u5e02", 
     "city":"", 
     "sid":"fcd6321c4cd4748a0cee2e7cc337506b", 
     "uid":"1", 
     "message_count":"11" 
    } 
} 

फिर, किसी को एंड्रॉयड JSON यह डिकोड करने के लिए उपयोग कर सकते हैं।