আমি বর্তমানে পিএইচপি-তে একটি RESTful এপিআই ডিজাইন এবং প্রয়োগ করছি। তবে আমি আমার প্রাথমিক নকশা বাস্তবায়নে ব্যর্থ হয়েছি।
GET /users # list of users
GET /user/1 # get user with id 1
POST /user # create new user
PUT /user/1 # modify user with id 1
DELETE /user/1 # delete user with id 1
এখন পর্যন্ত বেশ মান, তাই না?
আমার সমস্যা প্রথমটি নিয়ে GET /users
। আমি তালিকাটি ফিল্টার করার জন্য অনুরোধের বরাতে প্যারামিটারগুলি পাঠানোর বিষয়ে বিবেচনা করছি। এটি কারণ যে আমি একটি দীর্ঘ দীর্ঘ url না পেয়ে জটিল ফিল্টার নির্দিষ্ট করতে সক্ষম হতে চাই, যেমন:
GET /users?parameter1=value1¶meter2=value2¶meter3=value3¶meter4=value4
পরিবর্তে আমি কিছু চাই:
GET /users
# Request body:
{
"parameter1": "value1",
"parameter2": "value2",
"parameter3": "value3",
"parameter4": "value4"
}
যা অনেক বেশি পঠনযোগ্য এবং জটিল ফিল্টার সেট করার দুর্দান্ত সম্ভাবনা দেয়।
যাইহোক, অনুরোধগুলির file_get_contents('php://input')
জন্য GET
অনুরোধের বডিটি ফেরত দেয় না । আমি চেষ্টাও করেছিলাম http_get_request_body()
, তবে যে শেয়ারিং হোস্টিংটি ব্যবহার করছি সেটি নেই pecl_http
। নিশ্চিত নয় যে এটি যেভাবেই সহায়তা করেছিল।
আমি এই প্রশ্নটি পেয়েছি এবং বুঝতে পেরেছি যে জিইটি সম্ভবত একটি অনুরোধের বৌ থাকার কথা নয়। এটি কিছুটা অনির্বাচিত ছিল তবে তারা এর বিরুদ্ধে পরামর্শ দিয়েছে।
তাই এখন আমি কী করব তা নিশ্চিত নই। আপনি কীভাবে একটি রেস্টস্টুল অনুসন্ধান / ফিল্টারিং ফাংশন ডিজাইন করেন?
আমি মনে করি আমি ব্যবহার করতে পারি POST
, তবে এটি খুব বিশ্রামজনক বলে মনে হচ্ছে না।