একটি কাস্টম REST এপিআই তৈরি করা


10

আমার কাছে একটি ওয়ার্ডপ্রেস.অর্গ সাইট রয়েছে যা ব্যবহারকারীর ইনপুট নেয়, একটি কাস্টম ডাটাবেস অনুসন্ধান করে এবং কোয়েরির ফলাফলগুলি প্রদর্শন করে। আমার এই ডাব্লুপিডিবি ক্লাস ব্যবহার করে কাজ হচ্ছে । এখন আমি এটিকে একটি অ্যান্ড্রয়েড অ্যাপের জন্য কাজ করার চেষ্টা করছি।

যা আমি বুঝতে পেরেছি, একটি RESTful সার্ভার তৈরি করা এই ধরণের জিনিসটির জন্য বর্তমান 'সেরা অনুশীলন'। আমি এমন কিছু প্লাগইন দেখেছি যা এটি করতে আমাকে সহায়তা করতে পারে এবং আমি এসে পৌঁছেছি:

  1. json-rest-api - আমার কাছে মনে হয় এটি কেবলমাত্র মূল ওয়ার্ডপ্রেস কার্যকারিতা (যেমন পোস্ট, পৃষ্ঠাগুলি, ব্যবহারকারীগণ ইত্যাদি) প্রকাশ করে এবং অ-ডিফল্ট টেবিলগুলিতে কাস্টম অনুসন্ধানগুলি চালানোর জন্য কীভাবে এটি পেতে পারি তা আমি দেখতে পাচ্ছি না।

  2. এই ব্লগ পোস্টটি বলেছে যে ডাব্লুপি এমভিসি ঠিক যা করতে চাই ঠিক তা করে, 2 বছরেরও বেশি সময় এটি আপডেট না হয়ে থাকে, সুতরাং যে কিন্ডা এটি নিয়ম করে।

  3. রয়েছে জেটপ্যাক কিন্তু আমি কি দেখেছি থেকে JSON-বাকি-API এই আপডেট করা সংস্করণ এবং এটি শুধুমাত্র পাশাপাশি মুখ্য কার্যকারিতার দিতে বলে মনে হয়।

কাস্টম এন্ডপয়েন্টগুলির জন্য এই প্লাগইনগুলির কোনও কাজ করার কোনও উপায় আছে কি? বা অন্য কোন প্লাগইন আমি এখনও খুঁজে পাইনি?

আমি যদি একটি প্লাগইন ব্যবহার না করি তবে আমি বুঝতে পারি যে আমার নিজেরটি রোল করতে হবে। আমি এটি স্ক্র্যাচ (ব্যবহার করে wpdb, msqliবা কোনও কিছু), বা রেস্টলারের মতো কোনও এপিআইয়ের সাহায্যে করতে পারি

যদি আমি আমার নিজস্ব রোল করি তবে আমার থিমটিতে কোনও টেম্পলেট তৈরি করা উচিত, সেখানে কি বিশ্রামের জিনিসগুলি রেখে ড্যাশবোর্ডের মধ্যে কোনও পৃষ্ঠায় থিমটি বরাদ্দ করা উচিত? অথবা এর জন্য ওয়ার্ডপ্রেসে আলাদাভাবে অন্য একটি সার্ভার চালানো আরও ভাল হবে?

আমি যতদূর দেখতে পাচ্ছি, এগুলি আমার একমাত্র বিকল্প। আমি জানতে চাই যে এই জাতীয় জিনিসের জন্য প্রস্তাবিত সেরা অনুশীলনগুলি কী। আমার বিশ্বাস করা খুব কঠিন যে এই কাজটি আর কেউ করেনি। আমি যে কোন বিকল্প উপেক্ষা করেছি?


আপনি কি দিয়ে শেষ করেছেন? আমি ডাব্লিউপি রেস্ট এপিআই এর জন্য কাস্টম রুট / এন্ডপয়েন্টগুলি তৈরি করার চেষ্টা করছি এবং 1) ডকুমেন্টেশনটি ভয়ানক 2) ওয়েবের চারপাশে শূন্য উদাহরণ রয়েছে। আপনি দয়া করে কোন পথে নিয়েছেন তা আমাকে জানান!
জ্যাকসনকর

1
আমি ওয়ার্ডপ্রেসের বাইরে আমার নিজের এপিআই তৈরির সাথে যেতে সিদ্ধান্ত নিয়েছি, তবে এতে একই ডাটাবেসের অ্যাক্সেস রয়েছে। যদিও আমি আসলে এটির কাছাকাছি যাইনি, যেহেতু এটি কেবল একটি পার্শ্ব প্রকল্প ছিল এবং আমি অন্যান্য বিষয়গুলিতে খুব ব্যস্ত ছিলাম: পি। আমি যদি তুমি হতাম আমি মধ্যে একটি চেহারা হবে symfony2 বা Laravel অবকাঠামো। এগুলি সত্যই দ্রুত এবং সহজেই কিছু পেতে এবং চলমান।
হ্যাঁ_এটি'র_আমি

উত্তর:


15

টি এল; ডিআর

হ্যাঁ, ওয়ার্ডপ্রেস অবশ্যই একটি মোবাইল অ্যাপ্লিকেশনটির ব্যাকএন্ড হিসাবে কাজ করতে পারে। হ্যাঁ, একটি পৃষ্ঠা বিশ্রামের সমাপ্তি / ইন্টারফেস হিসাবে কাজ করতে পারে। না, কোনও থিম টেমপ্লেট যুক্তির জন্য সঠিক অঞ্চল নয়। নিজের প্লাগইন লিখুন।


পয়েন্টার

আমার বিশ্বাস করা খুব কঠিন যে এই কাজটি আর কেউ করেনি।

আমি, এক জন্য, আছে। একবারের বেশী. এবং আমি নিশ্চিত আমি একা নই। "এটি সম্পর্কে কেউ ব্যাপকভাবে ব্লগ করেনি" সম্ভবত আরও সঠিক ধারণা।

আমি যদি একটি প্লাগইন ব্যবহার না করি তবে আমি বুঝতে পারি যে আমার নিজেরটি রোল করতে হবে। আমি এটি স্ক্র্যাচ (ডাব্লুপিডিবি, এমএসকিলি বা অন্য কোনও কিছু ব্যবহার করে) বা রেস্টলারের মতো কোনও এপিআইর সাহায্যে করতে পারি

আমি "রেস্টলার" জানি না এবং যাইহোক এটি স্ট্যাকের বাইরে।
যতক্ষণ না "ডাব্লুপিডিবি, এমএসকিলি বা অন্য কিছু ব্যবহার করা" সম্পর্কিত, আপনি অবশ্যই wpdbডেটাবেজে ডেটা সংরক্ষণ করতে (প্রাপ্ত) ব্যবহার করতে পারেন , তবে এটি শেষ পয়েন্ট যুক্তিযুক্ত নয়।

থিম টেমপ্লেটটি যা আপনার উচিত তা নয়। থিমগুলি ভিজ্যুয়াল উপস্থাপনার জন্য বোঝানো হয়। একটি REST শেষের বিন্দুতে ভিজ্যুয়াল উপস্থিতির প্রয়োজন হয় না।

শর্টকোডের মাধ্যমে আপনি যে পৃষ্ঠার জন্য এটি ব্যবহার করতে চান তাতে শেষ পয়েন্টটি sertোকান

শর্টকোড হ্যান্ডলার / কলব্যাকটি HTTP পোষ্ট বা জিইটি শোনো এবং সেই অনুযায়ী ডেটা সেভিং বা অন্যান্য মাধ্যমিক পদ্ধতিতে অনুরোধ জানাবে।


ওয়ার্ডপ্রেসটি এন্ডপয়েন্ট / ব্যাকএন্ড হিসাবে ব্যবহার করা কি বোধগম্য?

এটা নির্ভর করে.
যদি আপনার কেবলমাত্র ডেটা সংরক্ষণের একটি শেষ পয়েন্ট দরকার: না। পুরো কোরটি লোড করা মাত্র কয়েকটি লাইন কোড ব্যবহার করে সেভ করার wpdbজন্য এটি মূল্যবান নয়।
আপনার যদি এমন একটি ব্যাকএন্ডের দরকার হয় যা কোনও ওয়েব ব্রাউজারের মাধ্যমে লগইন হতে পারে, যা ট্যাবুলার ডেটা প্রদর্শন করতে পারে, বলেন তথ্য পরিবর্তন করতে পারে, এমনকি একাধিক অ্যাক্সেসের স্তর / ব্যবহারকারীর ভূমিকা এবং অধিকারগুলি সহ, তবে হ্যাঁ, এটি কোনও অর্থবোধ করে না।


3
সত্যিই ভাল উত্তর +1।
গাজাজ্যাপ

2
দ্বিগুণ। +1
কায়সার

সত্যিই দুর্দান্ত উত্তরের জন্য ধন্যবাদ! সুতরাং সে থেকে আমার কাছে দুটি বিকল্প রয়েছে: ১. আমার নিজের প্লাগইন লিখুন; 2. একটি পৃথক পরিষেবা লিখুন। যেহেতু আমাকে শেষ পয়েন্টটি করার দরকার তা হ'ল কয়েকটি জিইটি প্যারামিটার নেওয়া এবং জেএসএন বডি ফিরিয়ে আনা, আমার মনে হয় আমার নিজের পরিষেবাটি লিখতে হবে কারণ "কয়েকটি কোডের কোড ব্যবহার করে পুরো কোরটি লোড wpdbকরা কোনও মূল্য নয়"।
হ্যাঁ_আইটি এর_আমি

0

এপিআই এন্ডপয়েন্টস প্লাগইনটি আপনার সমস্ত প্রয়োজনীয়তা আবশ্যক, বিশেষত যদি আপনি মাইএসকিউএল সাথে পরিচিত হন। আপনি নিম্নলিখিত পদক্ষেপগুলি করতে হবে:

  1. একটি নতুন টুইগ টেম্পলেট তৈরি করুন, আপনার ওয়ার্ডপ্রেস সাইট থেকে ডেটা আনতে আপনার মাইএসকিউএল কোয়েরিটি প্রবেশ করুন এবং যে কোনও ফর্ম্যাটে ডেটা আউটপুট দেওয়ার জন্য টুইগ সিনট্যাক্স ব্যবহার করুন। উদাহরণস্বরূপ, জেএসওএন।

  2. একটি নতুন এপিআই এন্ডপয়েন্ট তৈরি করুন, এটিকে একটি নাম দিন এবং আপনার পদক্ষেপ 1 এ তৈরি করা ট্যুইগ টেম্পলেটটি ব্যবহার করতে এটি কনফিগার করুন।

একবার হয়ে গেলে, আপনি তৈরি করতে চান এমন প্রতিটি শেষ পয়েন্টের জন্য 1 এবং 2 পদক্ষেপ পুনরাবৃত্তি করুন। এপিআই এন্ডপয়েন্টস স্ট্যান্ডার্ড ওয়ার্ডপ্রেস প্রমাণীকরণ সিস্টেম ব্যবহার করে, তাই আপনার ওয়ার্ডপ্রেসে আলাদা আলাদা ব্যবহারকারী তৈরি করা এবং আপনার এপিআই শেষ পয়েন্টগুলি অ্যাক্সেস করার জন্য এর ব্যবহারকারীর নাম / পাসওয়ার্ড ব্যবহার করা ভাল।


এপিআই এন্ডপয়েন্টগুলি আমার একটি প্রকল্পের জন্য আকর্ষণীয় দেখায় তবে এটিতে টুইগ যে কোনও কিছু পাওয়া দরকার যা আপনার ব্লগে লগইন প্রয়োজন যা পাবলিক সাবস্ক্রিপশনকে অনুমতি দেয় না।
mettjus

আমি এখন বুঝতে পেরেছি এটি
নিখরচায়

0

ডাব্লুপি REST এপিআই এর নতুন সংস্করণটি বিটাতে রয়েছে তবে কাস্টম আরআরএসটি শেষ পয়েন্টগুলি কীভাবে নিবন্ধভুক্ত করা যায় তার চারপাশে বেশ ভাল ডকুমেন্টেশন রয়েছে। সংস্করণ 1 এ এটি কীভাবে করা যায় সে সম্পর্কে একটি খুব ছোট ব্লার্বও রয়েছে, যা আমি চেষ্টা করে যাচ্ছি যেহেতু বিটা হওয়ার বা স্থিতিশীল থাকার গ্যারান্টি নেই। আমি ধরে নিই যে আপনি তখন নিবন্ধিত পদ্ধতিগুলির মধ্যে থেকে wpdb ব্যবহার করতে পারেন। আমি আসলে মাত্র ACF স্টাফ ব্যবহার করছি এবং এ্যাংুলারজেএস সহ একটি সুন্দর, সন্ধানযোগ্য / সাজানোরযোগ্য মাল্টি-প্রপার্টি ইনডেক্স পৃষ্ঠা তৈরি করতে আমার পিএইচপিতে অবজেক্টগুলিতে এটি প্রাক-মূল্যায়ন করছি।

তাদের ডক্স থেকে ডাব্লুডাব্লুপি REST এপিআই 1 এবং 2 এর মধ্যে তুলনা করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.