• 1400/02/06

دلایل استفاده از api-resource :

سلام شما از api-resource استفاده کردین ولی دلیل استفاده رو متوجه نشدم وقتی بدون استفاده از اون خود لاراول به صورت json برمیگردونه

  • 1400/02/06
  • ساعت 23:19

سلام دوست عزیز ؛ 

این ها به هم ربطی ندارن . همونطور که شما میان برای route/web از resource برای رزرو route های هفت تابع اصلی کنترلر استفاده میکنین دقیقا همین برای api هم وجود داره منتهی apiResource فقط برای پنج تابع کنترلر میاد و route رزرو میکنه . 

برای درک بهتر موضوع موقعی که از apiResource استفاده میکنید یه route:list از artisan بگیرید خودتون متوجه میشین به چه صورت route ها تعریف شدن .


  • 1400/02/07
  • ساعت 00:22

اون رو من میدونم من منظورم استفاده از این دستور بود مثلا

php artisan make:resource Post

که یک فایل در مسیر 

app/Http/Resources

ایجاد میشه قسمت 108 آموزش استاد در این مورد صحبت کردند


  • 1400/02/07
  • ساعت 06:16

سلام ؛

استفاده از apiResource آزادی عمل بیشتری رو برای ارسال اطلاعات به ما میده . مثلا به دلایل زیر :

1 ) استفاده از روابط بین جداول برای ارسال : مثلا شما چند تا جدول دارین وقتی میخواین api تعریف کنین قشنگ نیست بیاین واسه هر جدول یه api بنویسید و بعد به کسی که میخواین api ارائه بدین یه دفعه یه لیست طولانی در اختیارش بذارین بلکه با توجه به نیاز هاش شما میاین و یکی دو تا api یا کمی بیشتر براش شخصی سازی میکنین و در اختیارش میذارین .

2 ) میتونین تعیین کنید چه فیلد هایی از جدول ارسال بشه : استاد در جلسه گفتن که میشه از متد hidden یا visible برای پنهان یا آشکار کردن یه ستون در مدل استفاده کرد اما باید دقت کرد که به طور سراسری اعمال میشه یعنی دیگه توی کنترلر هم بهش دسترسی ندارین . حالا فرض کنید شما یه سیستمی طراحی میکنین و به کاربران اجازه میدین رمزشون رو ببین خوب اگر شما از متد های بالا برای فیلتر کردن api استفاده کنین دیگه توی سیستم اصلیتون بهش دسترسی ندارید . پس بهتره از apiResource برای فیلتر کردن اطلاعات استفاده کنیم.

اینم مستندات لاراول

For example, you may wish to display certain attributes for a subset of users and not others, or you may wish to always include certain relationships in the JSON representation of your models.


  • 1400/02/07
  • ساعت 09:31

با سلام خدمت شما همراه عزیز

 

دوسمتون کاملا درست فرمودن


logo-samandehi