REST ব্যবহার করে একাধিক রেকর্ড মুছুন


100

একাধিক আইটেম মুছে ফেলার বিশ্রামের উপায় কী?

আমার ব্যবহারের ক্ষেত্রে হ'ল আমার একটি ব্যাকবোন সংগ্রহ রয়েছে যার মধ্যে আমার একবারে একাধিক আইটেম মুছতে সক্ষম হওয়া প্রয়োজন। বিকল্পগুলি মনে হয়:

  1. প্রতিটি একক রেকর্ডের জন্য একটি মোছার অনুরোধ প্রেরণ করুন (এটি সম্ভাব্য কয়েক ডজন আইটেম থাকলে খারাপ ধারণা বলে মনে হয়);
  2. একটি মুছে ফেলুন যেখানে আইডি মুছতে হবে তা ইউআরএলে (যেমন, "/ রেকর্ডস / 1; 2; 3") একসাথে যুক্ত হবে;
  3. অ-রেস্ট পদ্ধতিতে, মোছার জন্য চিহ্নিত আইডির সমন্বিত একটি কাস্টম জেএসওএন অবজেক্ট প্রেরণ করুন।

সমস্ত বিকল্প আদর্শের চেয়ে কম।

এটি REST সম্মেলনের একটি ধূসর অঞ্চল বলে মনে হচ্ছে।


উত্তর:


93
  1. একটি কার্যকর টেকসই পছন্দ, তবে আপনি বর্ণিত সীমাবদ্ধতা অবশ্যই আছে।
  2. এটি করবেন না। এটি "মধ্যস্থতাকারী দ্বারা অর্থটিকে" (একক) সংস্থানটি মুছে ফেলুন "হিসাবে গণ্য করা হবে /records/1;2;3- সুতরাং এটির 2XX প্রতিক্রিয়া তাদের ক্যাশে শুদ্ধ করতে পারে /records/1;2;3; শুদ্ধ না/records/1 , /records/2বা /records/3; প্রক্সি একটি 410 প্রতিক্রিয়া /records/1;2;3, বা অন্য বিষয় যা আপনার দৃষ্টিকোণ থেকে বোঝায় না।
  3. এই পছন্দটি সেরা, এবং আস্তে আস্তে করা যায়। আপনি যদি একটি এপিআই তৈরি করে থাকেন এবং আপনি যদি সংস্থানগুলিতে ব্যাপক পরিবর্তনের অনুমতি দিতে চান তবে আপনি এটি করতে REST ব্যবহার করতে পারেন তবে ঠিক কীভাবে তা অনেকের কাছে তাত্ক্ষণিকভাবে স্পষ্ট নয় obvious একটি পদ্ধতি হ'ল 'অনুরোধ পরিবর্তন' রিসোর্স তৈরি করা (যেমন কোনও বডি পোস্ট records=[1,2,3]করার মাধ্যমে /delete-requests) এবং Locationআপনার অনুরোধ গৃহীত হয়েছে, প্রত্যাখ্যান হয়েছে, তা প্রক্রিয়াধীন রয়েছে কিনা তা খুঁজে বের করার জন্য তৈরি করা সংস্থানটি ( প্রতিক্রিয়াটির শিরোনাম দ্বারা নির্দিষ্ট করা ) জরিপ করুন বা সম্পন্ন হয়েছে। এটি দীর্ঘ-চলমান ক্রিয়াকলাপগুলির জন্য দরকারী। আরেকটি উপায় হ'ল তালিকার সংস্থানটিতে একটি PATCHঅনুরোধ প্রেরণ করা ,/records, যার মূলদেহে সেই সংস্থানগুলিতে সঞ্চালনের জন্য সংস্থানসমূহ এবং ক্রিয়াগুলির একটি তালিকা রয়েছে (আপনি যে কোনও বিন্যাসে সমর্থন করতে চান)। এটি দ্রুত অপারেশনের জন্য কার্যকর যেখানে অনুরোধের প্রতিক্রিয়া কোড অপারেশনের ফলাফল নির্দেশ করতে পারে।

আরইএসটি-র সীমাবদ্ধতার মধ্যে রেখে সমস্ত কিছু অর্জন করা যায় এবং সাধারণত উত্তরটি "সমস্যা "টিকে একটি উত্স হিসাবে পরিণত করা এবং এটি একটি ইউআরএল দেওয়া হয়।
সুতরাং, ব্যাচের ক্রিয়াকলাপগুলি, যেমন এখানে মুছুন, বা তালিকায় একাধিক আইটেম পোষ্ট করা, বা একই সংস্থানটি সংস্থানসমূহের সোয়াতে তৈরি করা, সমস্তই "ব্যাচ ক্রিয়াকলাপ" তালিকা তৈরি করে এবং এতে আপনার নতুন অপারেশন পোস্ট করে পরিচালনা করা যায়।

ভুলে যাবেন না, কোনও সমস্যা সমাধানের একমাত্র উপায় REST নয়। "বিশ্রাম" শুধু একটি স্থাপত্য শৈলী এবং আপনি না আছে এটা মেনে চলে (কিন্তু আপনি ইন্টারনেট নির্দিষ্ট সুবিধা হারিয়ে ফেললে আপনি না)। আমি আপনাকে পরামর্শ দিচ্ছি যে এইচটিটিপি এপিআই আর্কিটেকচারের এই তালিকাটি নীচে দেখুন এবং আপনার পক্ষে উপযুক্ত একটি বেছে নিন। আপনি যদি অন্য কোনও আর্কিটেকচার চয়ন করেন তবে কী কী হারাবেন সে সম্পর্কে নিজেকে সচেতন করুন এবং আপনার ব্যবহারের ক্ষেত্রে ভিত্তিতে একটি অবগত সিদ্ধান্ত নিন।

REST ওয়েব পরিষেবাদিতে ব্যাচের ক্রিয়াকলাপ পরিচালনা করার জন্য প্যাটার্নসে এই প্রশ্নের কিছু খারাপ উত্তর আছে ? যার অনেক বেশি উপভোগ রয়েছে, তবে এটি খুব পড়তে হবে।


4
এটি আপনার সার্ভার নয় যে সম্পর্কে আপনাকে চিন্তিত হতে হবে, এটি মধ্যস্থতাকারী, সিডিএন, ক্যাশে প্রক্সি ইত্যাদি The ইন্টারনেট একটি স্তরযুক্ত সিস্টেম। এ কারণেই এটি এত ভাল কাজ করে। রায় তার সাফল্যের জন্য সিস্টেমের কোন দিকগুলি প্রয়োজনীয় তা নির্ধারণ করেছিলেন এবং তাদের নাম রেখেছিলেন REST। আপনি যদি একটি DELETEঅনুরোধ জারি করেন তবে দাবিদার এবং সার্ভারের মধ্যে যা কিছু রয়েছে তা নির্দিষ্ট URL এ থাকা একক সংস্থানটি মুছে ফেলা হবে বলে মনে করবে। অনুসন্ধানের স্ট্রিংগুলি এই ডিভাইসগুলির URL টির অস্বচ্ছ অংশ, সুতরাং আপনি আপনার API কীভাবে নির্দিষ্ট করেন তা বিবেচনাধীন নয়, তারা এই জ্ঞানের সাথে গোপনীয় নয় তাই আলাদা আচরণ করতে পারে না।
নিকোলাস শ্যাঙ্কস

4
/ রেকর্ডস / 1; 2; 3 কাজ করবে না যদি আপনার ইউআরআই দৈর্ঘ্যের সীমাবদ্ধতার কারণে মোছার প্রচুর সংস্থান থাকে
ডিউকথ্র্যাশ

4
নোট করুন এবং মুছে ফেলার জন্য সংস্থাগুলি সংজ্ঞায়িত কোনও সংস্থা বিবেচনা করলে কিছু মধ্যস্থতাকারী শরীরকে এগিয়ে নাও দিতে পারে। এছাড়াও, কিছু এইচটিটিপি ক্লায়েন্ট একটি বিলোপ করতে কোনও দেহ যুক্ত করতে পারে না। দেখুন stackoverflow.com/questions/299628/...
লুক Puplett

4
@ লুক্পপ্লেট আমি সহজভাবে জানিয়ে দেব যে একটি অনুরোধের সাথে একটি DELETEঅনুরোধের সংস্থানটি নিষিদ্ধ। এটা করবেন না। তুমি যদি কর আমি তোমার বাচ্চাদের খেতে দেব। নাম নম।
নিকোলাস শ্যাঙ্কস

4
# 3 এর পক্ষে যুক্তিযুক্ত সমস্যাটি হ'ল এটি # 2 এর বিপরীতে পাল্টা যুক্তির মতো একই শাস্তি বহন করে। মুছে ফেলার জন্য উত্স তৈরি করা এমন কিছু নয় যা প্রবাহের প্রক্সিগুলি কীভাবে পরিচালনা করতে হবে তা জানবে - # 2 এর পদ্ধতির বিরুদ্ধে উত্থাপিত একই পাল্টা যুক্তি।
এলবি

16

GET /records?filteringCriteriaমানদণ্ডের সাথে মিলে সমস্ত রেকর্ডের অ্যারেটি যদি ফেরত দেয় তবে এই জাতীয় সমস্ত রেকর্ড DELETE /records?filteringCriteriaমুছতে পারে।

এই ক্ষেত্রে আপনার প্রশ্নের উত্তর হবে DELETE /records?id=1&id=2&id=3


4
আমি এই সিদ্ধান্তেও পৌঁছেছি: আপনি যা করতে চান তা ক্রিয়াটি ফ্লিপ করুন। আমি বুঝতে পারছি না কীভাবে জিইটির জন্য যায় সেটি ডিলেট করার জন্য যায় না।
লুক পুপলেট

9
GET /records?id=1&id=2&id=3"আইডি 1, 2 এবং 3 এর সাথে তিনটি রেকর্ড পান" এর অর্থ এই নয় যে "ইউআরএল পাথ / রেকর্ডগুলির সাথে একক সংস্থান পান? আইডি = 1 এবং আইডি = 2 এবং আইডি = 3" যা শালগমের চিত্র হতে পারে, সরল পাঠ্য? চীনা ভাষায় "42" সংখ্যাটি সম্বলিত নথি, বা নাও থাকতে পারে।
নিকোলাস শ্যাঙ্কস

নিম্নলিখিতগুলি বিবেচনা করুন: এর জন্য দুটি ক্রমিক অনুরোধ /records?id=1এবং /records?id=2প্রেরণ করা হয় এবং তাদের প্রতিক্রিয়াগুলি কিছু মধ্যস্থতাকারী দ্বারা ক্যাশে করা হয় (যেমন আপনার ব্রাউজার বা আইএসপি)। যদি ইন্টারনেট বুঝতে পারে যে আপনার অ্যাপ্লিকেশনটি এর দ্বারা কী বোঝায়, তবে এটি উত্থাপিত /records?id=1&id=2সার্ভারকে জিজ্ঞাসা না করেই কেবল ইতিমধ্যে দুটি ফলাফল মার্জ করে (কোনওভাবে) ক্যাশে দ্বারা একটি অনুরোধ ফিরে আসতে পারে তার কারণ দাঁড়ায় । তবে এটি সম্ভব নয়। /records?id=1&id=2অবৈধ হতে পারে (প্রতি অনুরোধের জন্য কেবলমাত্র 1 আইডি অনুমোদিত) বা সম্পূর্ণ আলাদা কিছু (একটি ট্রিপ) ফিরিয়ে দিতে পারে।
নিকোলাস শ্যাঙ্কস

এটি একটি বেসিক রিসোর্স ক্যাশে করার সমস্যা। যদি আমার ডিবিএ সরাসরি রাজ্যে রূপান্তরিত করে, তবে ক্যাশেগুলি এখন সিঙ্কের বাইরে। আপনি মধ্যবর্তী দ্বারা ফিরিয়ে দেওয়া 410 উদাহরণ দিয়েছেন, কিন্তু 410 স্থায়ী অপসারণের জন্য, কোনও ক্যাশে সেই ইউআরএলটির জন্য স্লট সাফ করতে পারে, তবে এটি কোনও 410 বা 404 প্রেরণ করবে না, কারণ এটি ডিবিএ কিনা তা জানে না উত্সটিকে তত্ক্ষণাত্ পুনরায় ফিরিয়ে দেওয়া হয়নি।
লুক পুপলেট

4
@ নিকোলাস শ্যাঙ্কস আমি সত্যিই একমত নই। যদি ফলাফলগুলি ক্যাশে করা হয় তবে এটি সার্ভারের দোষ। এবং যদি আপনি এপিআই-এর ডিজাইনের কথা বলছেন তবে আপনি আশা করি সার্ভারের জন্য কোড লিখছেন। আপনি মানগুলির একটি অ্যারে উপস্থাপন করতে ক্যোরির স্ট্রিং ব্যবহার করুন id[]=1&id[]=2বা id=1&id=2না কেন, সেই ক্যোয়ারী স্ট্রিংটি ঠিক সেটিকে উপস্থাপন করে। এবং আমি মনে করি যে ক্যোরি স্ট্রিংটি কোনও ফিল্টারকে উপস্থাপন করা অত্যন্ত সাধারণ এবং ভাল অনুশীলন। এছাড়াও, আপনি যদি মুছে ফেলতে এবং আপডেটের জন্য অনুমতি দেন তবে GETঅনুরোধগুলি ক্যাশে করবেন না । যদি আপনি তা করেন, ক্লায়েন্টরা বাসি অবস্থা ধরে রাখবে।
জোসেফ নিল্ডস

10

আমি মনে করি REST ব্যবহার করে একাধিক রেকর্ড মুছতে মোজিলা স্টোরেজ পরিষেবা সিঙ্কস্টোরেশন এপিআই v1.5 হ'ল একটি ভাল উপায়।

একটি সম্পূর্ণ সংগ্রহ মুছে ফেলে।

DELETE https://<endpoint-url>/storage/<collection>

একক অনুরোধ সহ একাধিক BSO গুলি সংগ্রহ থেকে মুছে ফেলে।

DELETE https://<endpoint-url>/storage/<collection>?ids=<ids>

আইডিএস : সংগ্রহগুলি থেকে বিএসওগুলি মুছে দেয় যার আইডিগুলি সরবরাহিত কমা-বিচ্ছিন্ন তালিকায় রয়েছে। সর্বাধিক 100 আইডির সরবরাহ করা যেতে পারে।

প্রদত্ত স্থানে বিএসও মোছা করে।

DELETE https://<endpoint-url>/storage/<collection>/<id>

http://moz-services-docs.readthedocs.io/en/latest/stores/apis-1.5.html#api-instructions


এটি একটি ভাল সমাধান বলে মনে হচ্ছে। আমার ধারণা মজিলা যদি তা সঠিক বলে মনে করে তবে তা অবশ্যই হবে? তত্ক্ষণাত কেবল ত্রুটি পরিচালনা করা question মনে করুন যে তারা পাস করেছেন? আইডি = 1,2,3 এবং আইডি 3 উপস্থিত নেই আপনি কি 1 এবং 2 মুছে ফেলেন 200 এর পরে প্রতিক্রিয়া জানান কারণ অনুরোধকারী 3 টি যেতে চায় এবং এটি সেখানে নেই তাই তাতে কিছু আসে যায় না? বা যদি তারা 1 না কে মোছার জন্য অনুমোদিত হয় তবে 2 নয় ... আপনি কি কিছু মুছবেন না এবং কোনও ত্রুটির সাথে প্রতিক্রিয়া জানান বা কী কী মুছতে পারবেন এবং অন্যকে রেখে যাবেন ...
টেম্পেক

আমি সাধারণত একটি সফল প্রতিক্রিয়া ফিরিয়ে দেব কারণ শেষ রাষ্ট্রটি নির্বিশেষে একই। এটি ক্লায়েন্টের পক্ষে যুক্তিও সহজতর করে যেহেতু তাদের আর সেই ত্রুটি পরিস্থিতি পরিচালনা করতে হবে না। অনুমোদনের ক্ষেত্রে হিসাবে, আমি কেবল পুরো অনুরোধটি ব্যর্থ করব ... তবে এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে।
নাথান ফেটিপ্লেস

3

এটি REST সম্মেলনের একটি ধূসর অঞ্চল বলে মনে হচ্ছে।

হ্যাঁ, এখন পর্যন্ত আমি কেবলমাত্র একটি REST এপিআই ডিজাইন গাইড পেয়েছি যাতে ব্যাচের ক্রিয়াকলাপ (যেমন একটি ব্যাচ মোছা) উল্লেখ করা হয়েছে: গুগল এপিআই ডিজাইন গাইড

এই গাইডটিতে "কাস্টম" পদ্ধতিগুলি তৈরির উল্লেখ রয়েছে যা কোনও কোলন ব্যবহার করে কোনও সংস্থার মাধ্যমে যুক্ত হতে পারে, উদাহরণস্বরূপ https://service.name/v1/some/resource/name:customVerb, এটি ব্যাচের ক্রিয়াকলাপকে স্পষ্টভাবে ব্যবহারের ক্ষেত্রে উল্লেখ করেছে:

একটি কাস্টম পদ্ধতি কোনও সংস্থান, সংগ্রহ বা কোনও পরিষেবার সাথে যুক্ত হতে পারে। এটি একটি স্বেচ্ছাসেবী অনুরোধ নিতে পারে এবং একটি নির্বিচার প্রতিক্রিয়া ফিরিয়ে দিতে পারে, এবং স্ট্রিমিং অনুরোধ এবং প্রতিক্রিয়াটিকে সমর্থন করে। [...] কাস্টম পদ্ধতিতে HTTP পোস্ট ক্রিয়া ব্যবহার করা উচিত কারণ এটিতে সবচেয়ে নমনীয় শব্দার্থক শব্দ রয়েছে [...] পারফরম্যান্স সমালোচনামূলক পদ্ধতির জন্য, প্রতি অনুরোধের ওভারহেড হ্রাস করার জন্য কাস্টম ব্যাচ পদ্ধতি সরবরাহ করা কার্যকর হতে পারে ।

সুতরাং আপনি গুগলের এপিআই গাইড অনুযায়ী নিম্নলিখিতটি করতে পারেন:

POST /api/path/to/your/collection:batchDelete

... আপনার সংগ্রহের উত্সের একগুচ্ছ আইটেম মুছতে।


আইটেমের তালিকাটি কোনও JSON ফর্ম্যাট অ্যারের মাধ্যমে প্রেরণ করা যায় এমন একটি কার্যক্ষম সমাধান?
ড্যানিয়েল

হ্যাঁ অবশ্যই. আপনি একটি পেডলোড পোস্ট করতে পারেন যাতে কোনও জসন অ্যারের মাধ্যমে আইডি প্রেরণ করা হয়।
বি

এটি আকর্ষণীয় যে If the HTTP verb used for the custom method does not accept an HTTP request body (GET, DELETE), the HTTP configuration of such method must not use the body clause at all,কাস্টম মেথড অধ্যায়টিতে গুগল এপিআই গাইড বলেছিল । তবে GET accounts.locations.batchGetএপিআই হ'ল দেহ সহ জিইটি পদ্ধতি। এটা অদ্ভুত। developers.google.com/my-business/references/rest/v4/…
鄭元傑

@। সম্মত হন, প্রথম দর্শনে কিছুটা অদ্ভুত লাগে তবে আপনি যদি ঘনিষ্ঠভাবে দেখেন তবে এটি আসলে একটি POSTHTTP পদ্ধতি ব্যবহৃত হয় এবং কেবলমাত্র কাস্টম পদ্ধতির নামকরণ করা হয় batchGet। আমি অনুমান করি যে গুগল তাদের (ক) এই নিয়মের সাথে লেগে গেছে যে সমস্ত কাস্টম পদ্ধতিগুলি হওয়া উচিত POST(আমার উত্তর দেখুন) এবং (খ) লোকেরা যাতে শরীরে "ফিল্টার" লাগাতে সহজ করে তোলে যাতে আপনার প্রয়োজন হয় না পালা বা ক্যোয়ারী স্ট্রিংগুলির সাথে ফিল্টারটিকে এনকোড করুন। অবশ্যই খারাপ দিকটি এটি হ'ল এটি এখন আর ক্যাশেযোগ্য নয় ...
বি 12 টোস্টার

https://service.name/v1/some/resource/name:customVerbসংজ্ঞা অনুসারে বিশুদ্ধ নয়।
ডিমন

2

আমি একটি সংগ্রহের পাইকারি প্রতিস্থাপনের অনুমতি দিয়েছি, যেমন PUT ~/people/123/shoesশরীরটি পুরো সংগ্রহের প্রতিনিধিত্ব করে।

এটি আইটেমগুলির ছোট শিশু সংগ্রহের জন্য কাজ করে যেখানে ক্লায়েন্ট একটি আইটেম পর্যালোচনা করতে এবং কিছু ছাঁটাই করতে এবং কিছু অন্যকে যুক্ত করতে এবং তারপরে সার্ভার আপডেট করতে চায়। সমস্ত মুছে ফেলার জন্য তারা একটি খালি সংগ্রহ রাখতে পারে।

এর অর্থ GET ~/people/123/shoes/9হ'ল এখনও একটি ক্যাশে থাকবে যদিও একটি পুট এটি মুছে ফেলেছে, তবে এটি কেবল একটি ক্যাশিংয়ের সমস্যা এবং যদি অন্য কোনও ব্যক্তি জুতো মুছে ফেলেন তবে সমস্যা হবে।

আমার ডেটা / সিস্টেম এপিআইগুলি সর্বদা মেয়াদোত্তীর্ণের বিপরীতে ETags ব্যবহার করে যাতে প্রতিটি অনুরোধে সার্ভারটি হিট হয় এবং ডেটাটি পরিবর্তনের জন্য আমার সঠিক সংস্করণ / সম্মতি শিরোনাম প্রয়োজন। কেবলমাত্র পঠনযোগ্য এবং দেখা / প্রতিবেদনের প্রান্তিকরূপিত এপিআইগুলির জন্য, আমি উত্সের উপরের হিটগুলি কমাতে মেয়াদোত্তীর্ণ সময় ব্যবহার করি, যেমন লিডারবোর্ড 10 মিনিটের জন্য ভাল হতে পারে।

অনেক বড় সংগ্রহের জন্য, যেমন ~/peopleআমার একাধিক মুছার প্রয়োজন হয় না, ব্যবহারের ক্ষেত্রে স্বাভাবিকভাবেই উত্থাপিত হয় না এবং তাই একক মুছে ফেলা ভাল কাজ করে।

ভবিষ্যতে এবং আরএসটি এপিআই তৈরির অভিজ্ঞতা এবং একই সমস্যা এবং প্রয়োজনীয়তার সাথে নিরীক্ষণের মতো হিট করার অভিজ্ঞতা থেকে আমি কেবল জিইটি এবং পোষ্ট ক্রিয়া এবং ইভেন্টগুলির চারপাশে নকশা ব্যবহার করতে আগ্রহী, যেমন ঠিকানা ইভেন্টের একটি পরিবর্তন পোস্ট করুন, যদিও আমার সন্দেহ 'সমস্যাগুলির নিজস্ব সেট নিয়ে আসব :)

আমি ফ্রন্ট-এন্ড ডেভসকে তাদের নিজস্ব এপিআইগুলি তৈরি করার অনুমতি দেব যা কঠোর ব্যাক-এন্ড এপিআই ব্যবহার করে যেহেতু প্রায়শই ব্যবহারিক, বৈধ ক্লায়েন্ট-সাইড কারণে তারা কঠোর "ফিল্ডিং জিলিয়ট" আরএসটি এপিআই ডিজাইন পছন্দ করে না এবং উত্পাদনশীলতার জন্য এবং ক্যাশে লেয়ারিং কারণ।


আমি শেষ বাক্যটি না পড়া পর্যন্ত আমি এই উত্তরটি ঠিকই পছন্দ করেছি :) আমি কখনও এমন ব্যবহারের ঘটনা দেখিনি যেখানে কঠোরভাবে আরএসটি প্রয়োগ করার ফলে তার ক্ষতিকারক প্রভাব পড়েছে। অবশ্যই এটি উভয় প্রান্তে আরও কোড লিখতে পারে তবে আপনি একটি নিরাপদ, ক্লিনার, কম সংযুক্ত সিস্টেমের সাহায্যে শেষ করতে পারেন।
নিকোলাস শ্যাঙ্কস

হা হা। এটি আসলে একটি প্যাটার্ন হয়ে গেছে! ফ্রন্ট-এন্ডের জন্য ব্যাকএন্ড এটি থট ওয়ার্কস প্রযুক্তির রাডারে কল করা হয়। এটি আরও অ্যাপ্লিকেশন যুক্তি রচনার অনুমতি দেয় যা বলা জাভাস্ক্রিপ্ট হিসাবে জটিল হতে পারে এবং অবশ্যই কোনও ক্লায়েন্ট ছাড়াই আপডেট করা যেতে পারে সুতরাং কোনও আইওএস অ্যাপ্লিকেশনটির জন্য আপডেটটি বলুন।
লুক পুপলেট 9

গুগলের প্রথম চারটি হিট স্কিম-রিডিং দেখে মনে হচ্ছে ক্লায়েন্টরা আপনার নিয়ন্ত্রণে থাকলেই এই বিএফএফ কৌশলটি কাজ করতে পারে । ক্লায়েন্ট বিকাশকারীরা তাদের যে API টি চায় তা বিকাশ করে, মাইক্রো সার্ভিস এপিআইগুলিতে কলগুলি ম্যাপ করে যা আসল পিছনে। এই চিত্রটিতে: samnewman.io/ Patterns / architectural / bff / #bff আমি BFF বাক্সগুলির নীচে "পেরিমিটার" লাইন রাখব - প্রতিটি বাক্সটি কেবল ক্লায়েন্টের অংশ। এমনকি এটি মাইক্রোসার্ভেসিসহ ডেটা সেন্টারের বাইরেও থাকতে পারে। উভয় ইন্টারফেসে (ক্লায়েন্ট / বিএফএফ এবং বিএফএফ / মাইক্রোসার্ভেস) আরএসটি কীভাবে প্রযোজ্য তা আমিও দেখতে পাচ্ছি না।
নিকোলাস শ্যাঙ্কস

4
হ্যাঁ এটি একটি ভাল পয়েন্ট। এটি সাধারণত আপনার যখন কোনও দল তৈরির মাইক্রোসার্ফেসিস এবং একটি দল কৌণিক অ্যাপ তৈরি করে থাকে, উদাহরণস্বরূপ, এবং সেই দেব দলটি আরও ফ্রন্ট-এন্ড ধরণের যারা সামান্য পিউরিস্ট পরিষেবাদির একগুচ্ছের বিরুদ্ধে কাজ করতে পছন্দ করেন না। যদিও আমি কোনও কারণ দেখতে পাচ্ছি না যে আপনি মাইক্রোসার্ফেসগুলি বিমূর্ত করার জন্য একই প্যাটার্নটি ব্যবহার করতে পারবেন না এবং আপনার গ্রাহকদের আরও অধিক ব্যবহারযোগ্য সম্মুখের দিকে জড়োকরণের জন্য যেমন মাইক্রোসার্ভেসেসগুলি সম্মুখভাগকে প্রভাবিত না করে পরিবর্তন করা যেতে পারে।
লুক পুপলেট

একটি এপিআই এন্ডপয়েন্টটি ডোমেন এবং ব্যবসায়ের প্রয়োজনগুলির মডেল করা উচিত। এই সমস্যাগুলি সমাধান করার কোড এবং ওভার ইঞ্জিনিয়ারিং এড়ানোর জন্য কঠোর এবং অনেক সময়ের অবিচ্ছেদ্য চশমা মেনে চলা। আরআরইএসটি হ'ল উপায়-নির্দেশনা ছাড়া আর কিছুই নয়।
ভিক্টোরিও বেরেরা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.