আমি একটি ওয়েব অ্যাপ্লিকেশন ডিজাইন করছিলাম এবং তারপরে আমার এপিআই কীভাবে একটি বিশ্রাম ওয়েব পরিষেবা হিসাবে ডিজাইন করা উচিত সে সম্পর্কে চিন্তাভাবনা বন্ধ করে দিলাম। আপাতত, আমার ইউআরআই এর বেশিরভাগই জেনেরিক এবং বিভিন্ন ওয়েব অ্যাপ্লিকেশনগুলিতে প্রয়োগ হতে পারে:
GET /logout // destroys session and redirects to /
GET /login // gets the webpage that has the login form
POST /login // authenticates credentials against database and either redirects home with a new session or redirects back to /login
GET /register // gets the webpage that has the registration form
POST /register // records the entered information into database as a new /user/xxx
GET /user/xxx // gets and renders current user data in a profile view
POST /user/xxx // updates new information about user
আমার মনে হচ্ছে এসও এবং গুগলকে ঘুরে দেখার পরে আমি এখানে অনেক ভুল করছি।
শুরু করে /logout
, সম্ভবত যেহেতু আমি আসলে GET
কিছুই না - এটি অধিবেশনটি ধ্বংস করতে এবং তারপরে পুনঃনির্দেশ POST
করার অনুরোধ করা আরও উপযুক্ত । এবং শব্দটি থাকা উচিত ?/logout
GET
/logout
কি সম্পর্কে /login
এবং /register
। আমি পরিবর্তন /register
করতে পারি /registration
তবে এতে আমার পরিষেবা মৌলিকভাবে কীভাবে কাজ করে তা পরিবর্তন করে না - যদি এর আরও গভীর সমস্যা থাকে।
আমি এখন লক্ষ্য করেছি যে আমি কখনই কোনও /user
সংস্থান উন্মুক্ত করি না । সম্ভবত এটি কোনওভাবে কাজে লাগানো যেতে পারে। উদাহরণস্বরূপ, ব্যবহারকারীকে নিন myUser
:
foo.com/user/myUser
অথবা
foo.com/user
ইউআরআই-এ শেষ ব্যবহারকারীর অতিরিক্ত অতিরিক্ত ভারবোসিটির প্রয়োজন নেই। তবে কোনটি দৃষ্টিভঙ্গি করে বেশি আবেদন করছে?
আমি এই বিশ্রাম ব্যবসায়ের বিষয়ে এখানে আরো কিছু প্রশ্ন লক্ষ্য করেছি, তবে সম্ভব হলে আমি এখানে যা রেখেছি তাতে কিছু দিকনির্দেশনার সত্যই প্রশংসা করব।
ধন্যবাদ!
হালনাগাদ:
আমি এর উপর কিছু মতামতও চাই:
/user/1
বনাম
/user/myUserName