कस्टम रीस्ट एपीआई का निर्माण


10

मेरे पास एक WordPress.org साइट है जो उपयोगकर्ता इनपुट लेती है, एक कस्टम डेटाबेस खोजती है और क्वेरी के परिणाम प्रदर्शित करती है। मैं wpdb वर्ग का उपयोग करके यह काम कर रहा हूं । अब मैं इसे एंड्रॉइड ऐप के लिए काम करने की कोशिश कर रहा हूं।

जो मैं समझता हूं, इस प्रकार की चीज़ के लिए एक RESTful सर्वर का निर्माण वर्तमान 'सर्वोत्तम अभ्यास' है। मैंने कुछ प्लगइन्स पर ध्यान दिया है जो मुझे ऐसा करने में मदद कर सकते हैं, और मैं भर आया हूं:

  1. json-rest-api - यह मुझे लगता है कि यह केवल कोर वर्डप्रेस कार्यक्षमता (यानी। पोस्ट, पेज, उपयोगकर्ता, आदि) को उजागर करता है और मैं यह नहीं देख सकता कि गैर-डिफ़ॉल्ट तालिकाओं पर कस्टम प्रश्नों को निष्पादित करने के लिए कैसे प्राप्त करें।

  2. इस ब्लॉग पोस्ट में कहा गया है कि wp mvc बिल्कुल वही करता है जो मैं चाहता हूं, सिवाय इसके कि इसे 2 साल से अधिक समय में अपडेट नहीं किया गया है, ताकि थोड़े नियम बाहर निकल जाएं।

  3. जेटपैक भी है लेकिन मैंने जो देखा है, उसमें से json-rest-api इस का अपडेटेड वर्जन है और यह केवल कोर फंक्शनलिटी ही देता है।

क्या कस्टम एंडपॉइंट के लिए इनमें से किसी भी प्लगइन्स को बनाने का कोई तरीका है? या अन्य प्लगइन्स हैं जो मुझे अभी तक नहीं मिले हैं?

यदि मैं एक प्लगइन का उपयोग नहीं करता हूं, तो मुझे लगता है कि मुझे अपना रोल करना होगा। मैं इसे स्क्रैच (उपयोग wpdb, msqliया कुछ), या एपीआई की मदद से जैसे रेस्टलर से कर सकता हूं

अगर मुझे अपना रोल करना है, तो क्या मुझे अपने विषय में एक टेम्पलेट बनाना चाहिए, REST सामान को वहां करें और डैशबोर्ड के भीतर एक पृष्ठ पर उस विषय को असाइन करें? या फिर इसके लिए वर्डप्रेस के लिए अलग से सर्वर चलाना बेहतर होगा?

जहां तक ​​मैं देख सकता हूं, ये मेरे एकमात्र विकल्प हैं। मैं जानना चाहूंगा कि इस तरह की चीज़ों के लिए अनुशंसित सर्वोत्तम अभ्यास क्या हैं। मुझे यह विश्वास करना मुश्किल है कि किसी और ने ऐसा नहीं किया है। क्या कोई विकल्प है जिसकी मैंने अनदेखी की है?


आपने आखिर क्या किया? मैं wp बाकी एपीआई के लिए कस्टम रूट / एंडपॉइंट बनाने की कोशिश कर रहा हूं और 1) प्रलेखन भयानक 2 है) वेब के चारों ओर शून्य उदाहरण हैं। मुझे बताएं कि आपने कृपया कौन सा मार्ग लिया है!
जैक्सनकॉर्फ़

1
मैंने Wordpress के बाहर अपनी खुद की एपीआई के निर्माण के साथ जाने का फैसला किया, लेकिन उसी डेटाबेस तक पहुंच है। मैं वास्तव में इसके आसपास कभी नहीं गया, क्योंकि यह सिर्फ एक साइड प्रोजेक्ट था और मैं अन्य चीजों के साथ बहुत व्यस्त हूं: पी। अगर मैं तुम्हें थे मैं में एक देखो होता symfony2 या laravel चौखटे। वे वास्तव में जल्दी और कुछ पाने और चलाने के लिए आसान हैं।
Yep_It's_Me

जवाबों:


15

टी एल; डॉ

हाँ, वर्डप्रेस निश्चित रूप से एक मोबाइल ऐप के लिए एक बैकएंड के रूप में कार्य कर सकता है। हां, एक पृष्ठ बाकी समापन बिंदु / इंटरफ़ेस के रूप में कार्य कर सकता है। नहीं, एक थीम टेम्पलेट तर्क के लिए सही क्षेत्र नहीं है। अपना खुद का प्लगइन लिखें।


संकेत

मुझे यह विश्वास करना मुश्किल है कि किसी और ने ऐसा नहीं किया है।

मैं, एक के लिए, है। एक से ज्यादा बार। और मैं निश्चित हूं कि मैं अकेला नहीं हूं। "किसी ने बड़े पैमाने पर इसके बारे में ब्लॉग नहीं किया है" शायद अधिक सही धारणा है।

यदि मैं एक प्लगइन का उपयोग नहीं करता हूं, तो मुझे लगता है कि मुझे अपना रोल करना होगा। मैं इसे स्क्रैच (wpdb, msqli या कुछ और का उपयोग करके) से कर सकता हूं, या रेस्टलर जैसे एपीआई की मदद से कर सकता हूं

मुझे नहीं पता कि "रेसलर" और जो कि इस स्टैक पर किसी भी तरह से दायरे से बाहर है।
जहाँ तक "wpdb, msqli या कुछ का उपयोग wpdbकरने " का संबंध है: आप निश्चित रूप से डेटाबेस को डेटा प्राप्त करने (प्राप्त) करने के लिए उपयोग करेंगे , लेकिन यह समापन बिंदु तर्क के अनुरूप नहीं है।

एक थीम टेम्पलेट वह नहीं है जिसे आपको देखना चाहिए। थीम्स दृश्य प्रस्तुति के लिए होती हैं। REST एंडपॉइंट को दृश्य रूप की बिल्कुल भी आवश्यकता नहीं होती है।

उस पृष्ठ में अंतिम बिंदु सम्मिलित करें जिसे आप शोर्ट के माध्यम से इसके लिए उपयोग करना चाहते हैं ।

शोर्ट हैंडलर / कॉलबैक सुनो या तो HTTP POST या GET और तदनुसार डेटा की बचत या अन्य माध्यमिक तरीकों का आह्वान करें


क्या यह एक समापन बिंदु / बैकएंड के रूप में वर्डप्रेस का उपयोग करने के लिए समझ में आता है?

निर्भर करता है।
यदि आप सभी को डेटा बचाने के लिए एक समापन बिंदु है: नहीं। कोड का उपयोग करके कोड की कुछ पंक्तियों को सहेजने के लिए बस पूरे कोर को लोड करने के wpdbलायक नहीं है।
यदि आपको एक बैकएंड की आवश्यकता है जिसे वेब ब्राउज़र के माध्यम से लॉग इन किया जा सकता है, जो सारणीबद्ध डेटा प्रदर्शित कर सकता है, तो उक्त डेटा को बदलने के तरीके की पेशकश कर सकता है, शायद कई एक्सेस स्तरों / उपयोगकर्ता भूमिकाओं और अधिकारों के साथ भी, तो हाँ, इसका कोई मतलब नहीं है।


3
वास्तव में अच्छा जवाब +1।
gmazzap

2
वह डबल। +1
केसर

वास्तव में महान जवाब के लिए धन्यवाद! तो उस से, मेरे पास दो विकल्प हैं: 1. अपना खुद का प्लगइन लिखें; 2. एक अलग सेवा लिखें। चूँकि सब करने के लिए मुझे समापन बिंदु की आवश्यकता है इसलिए कुछ GET पैरामीटर लें और JSON बॉडी वापस करें, मुझे लगता है कि मुझे अपनी स्वयं की सेवा लिखनी चाहिए क्योंकि "कोड का उपयोग करके कुछ लाइनों को सहेजने के लिए पूरे कोर को लोड करने wpdbका कोई मतलब नहीं है"।
Yep_It's_Me

0

एपीआई एंडपॉइंट प्लगइन को आपकी सभी जरूरतों को कवर करना चाहिए, खासकर यदि आप MySQL से परिचित हैं। आप निम्नलिखित कदम उठाएंगे:

  1. एक नया ट्विग टेम्प्लेट बनाएं, अपनी वर्डप्रेस साइट से डेटा प्राप्त करने के लिए अपनी मैसक्यूएल क्वेरी दर्ज करें और किसी भी प्रारूप में डेटा को आउटपुट करने के लिए ट्विग सिंटैक्स का उपयोग करें। उदाहरण के लिए, JSON।

  2. एक नया एपीआई एंडपॉइंट बनाएं, इसे एक नाम दें और चरण 1 में आपके द्वारा बनाए गए ट्विग टेम्पलेट का उपयोग करने के लिए इसे कॉन्फ़िगर करें।

एक बार हो जाने के बाद, हर उस बिंदु के लिए चरण 1 और 2 दोहराएं, जिसे आप बनाना चाहते हैं। एपीआई एंडपॉइंट मानक वर्डप्रेस प्रमाणीकरण प्रणाली का उपयोग करता है, इसलिए अपने वर्डप्रेस / पासवर्ड का उपयोग करके अपने एपि एंडपॉइंट का उपयोग करने के लिए अपने वर्डप्रेस में एक अलग उपयोगकर्ता बनाना सबसे अच्छा होगा।


एपीआई एंडपॉइंट मेरा एक प्रोजेक्ट के लिए दिलचस्प लग रहा है, लेकिन इसके लिए ट्विग एनीथिंग की आवश्यकता होती है, जो लगभग असंभव है क्योंकि इसे आपके ब्लॉग में लॉगिन की आवश्यकता होती है जो सार्वजनिक सदस्यता की अनुमति नहीं देता है।
मेट्टजस

मुझे अब एहसास हुआ कि यह स्वतंत्र नहीं है ...
मेट्टजस

0

WP REST API का नया संस्करण बीटा में है, लेकिन कस्टम रेस्ट एंडपॉइंट्स को पंजीकृत करने के तरीके के बारे में बहुत अच्छा प्रलेखन है। संस्करण 1 में यह कैसे किया जा सकता है, इस बारे में एक बहुत ही छोटी सी झलक भी है, जिसे मैं कोशिश कर रहा हूं क्योंकि बीटा के स्थिर होने या स्थिर रहने की गारंटी नहीं है। मुझे लगता है कि आप तब आपके द्वारा पंजीकृत तरीकों के भीतर से wpdb का उपयोग कर सकते हैं। मैं वास्तव में सिर्फ ACF सामान का उपयोग कर रहा हूं और इसे angularJS के साथ एक अच्छा, खोजा / छांटने वाली बहु-संपत्ति सूचकांक पृष्ठ बनाने के लिए अपने php में वस्तुओं में पूर्व-निर्धारित कर रहा हूं।

उनके डॉक्स से WWP REST API 1 और 2 के बीच तुलना

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.