Laravel API এডভান্সড — নেস্টেড রাউট, রিসোর্স, ভার্সনিং, রেট লিমিট, ডকুমেন্টেশন | Part 25

Abu Sayed
2 min readFeb 24, 2024

--

Laravel API development এর জন্য কিছু গুরুত্বপূর্ণ এডভান্সড বিষয় নিয়ে আলোচনা — যেমন Nested Route, API Resource, Versioning, Rate Limiting এবং Documentation। এই বিষয়গুলো জেনে API কে আরও শক্তিশালী করা সম্ভব।

প্রিয় বন্ধু,

API ডেভেলপমেন্ট এর মাঝে কিছু এডভান্সড টপিক্স আছে যা আমাদের API কে আরও শক্তিশালী করে তোলে। আজ আমরা সেই কিছু নিয়ে আলোচনা করবো -

Nested Routing

আমরা API এর রাউটগুলোকে নেস্টেড করে লিখতে পারি, যাতে রিলেটেড রিসোর্সগুলো একসাথে গ্রুপ করে রাখা যায়।

Route::apiResource('photos.comments', PhotoCommentController::class);

এখানে photos এবং comments একসাথে নেস্টেড করে রাউট ডিফাইন করা হয়েছে।

API Resource

API Resource দিয়ে আমরা API response এর ফরম্যাট ও ডাটাকে customize করতে পারি।

class UserResource extends JsonResource {
  public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email
];
}
}

এবার রেসপন্স রিটার্ন করার সময়:

return new UserResource($user);

API Versioning

Route এর মাধ্যমে API versioning করা যায়:

Route::version('v1', function () {
Route::get('users', function(){

});
});

Header এর মাধ্যমেও ভার্সনিং করা যেতে পারে।

Rate Limiting

প্রতিটি route এর জন্য throttling করা যায়:

Route::middleware('auth:api', 'throttle:60,1')->group(function () {    
Route::get('/user', function () {

});
});

এখানে ৬০ সেকেন্ডে ১ রিকোয়েস্ট করতে পারবে।

API Documentation

Laravel API docs প্যাকেজ দিয়ে সহজেই documentation তৈরি করা যায়। এটি অনেক interactive এবং auto generated হয়ে থাকে।

এভাবে Laravel API development কে আরও পাওয়ারফুল করা যায়। আশা করি এই টিপসগুলো আপনার কাজে সাহায্য করবে।

--

--

Abu Sayed

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Kubernetes. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed