سلام دوستان؛ میخواستم وقتی هر ریکوئستی به سرور زده شد، توی میدلویر یه سری چیزا پک بشه و حالا یا توی هدر یا ریسپانس یا هرجای دیگه اون شرایطی که چک کردم، اضافه بشه
شاید منظورمو کامل نرسوندم با یه مثال میگم
برای api وقتی درخواستی میاد که مثلا لیست مقالات رو بگیره، میخوام چک کنم که این کاربر ایا مقاله ای هست که نظر نداده باشه؟یا شرایط دیگه ای، میخوام توی میدلویر چک بشه و توی ریسپانسی که برمیگرده یه دیتایی برای این شرایط برگرده، راه حلی داره؟
چون واسه چک کردن این شرایط روت هایی جداگونه ای قرار داده شده، و چند تا روت هست، میخواستم ببینم امکانش هست توی هر ریکوئستی که زده میشه این ظرایط چک بشه، و اصولش به چه شکل درست هست
بهترین راه این هست که در درخواست برگشتی از لیست مقالات، همه داده های مورد نیاز اضافه شده باشه (حالا یا با Eager-Loading , یا مدیریت ریسپانسها به شکل مستقیم)
و یا میتونی اندپوینت جدایی براش در نظر گرفته بگیری مثلا:
اما اگر خواستی داده ای به هدر اضافه کنی و از هدر استفاده کنی میتونی به شکل زیر عمل کنی:
توی متد handle میدلور میتونی به شکل زیر هدر رو اضافه کنی:
public function handle($request, Closure $next)
{
$response = $next($request);
$response->header('Access-Control-Allow-Origin', '*');
//add more headers here
return $response;
}
ممنون، کلا میخواستم ببینم این راهی که من میگم راه کار درستی هست یا نه؟
ینی میخوام وقتی برای مثال اپلیکیشن اندرویدی باز شد هر ریکوئستی که زد، علاوه بر اون پاسخ ها، یه سری چیزای دیگه هم چک بشه و در کنار پاسخی که ارسال میشه قرار داده بشه، ینی یه میدلویر ست بشه روی همه روت ها و این شرایط رو چک کنه، راه کار درستی هست؟ امکان پذیر هست؟
اونوقت چطو میشه که یه بار توی میدلویر یه بار دیتا اضافه کرد به بدنه ریسپانس یه بار توی کنترلر؟
وقتی که کوئری میزنید میتونید داده های لازم رو ایگرلود کنید دیگه
اگر هم ساختار مورد نظر شما رو نداره، میتونی ساختار ریسپانس برگشتی رو با توابع PHP به حالت موردنظرت تبدیل کنی
در این حالت میتونی از میدلور هم استفاده نکنی و داخل کنترلر مشخص کنی که کوئری که باید بزنی ساده هست یا شامل داده های اضافی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟