خوب دقت کنید که set as startup هم بزنیم براش
خوب دقت کنید که اینجا ما اومدیم از middleware که اسمش swagger هستش استفاده میکنم به صورت اتوماتیک برای api میاد داکیومنت میکنه و محیط تست هم ایجاد میکنه دیگه نیازی نیست با postman بیایم تست کنیم
خوب در حالت عادی ما از app use routing , app useEndpoints استفاده میکردیم برای routing ولی اینجا به جاش اومدیم از map controllers استفاده کردیم که با استفاده ازش این قابلیت رو داریم که از attribute ها استفاده میکردیم
خودش به صورت اتوماتیک براش route نوشته و attibute هم گذاشته
خوب اینجا دیگه چون view نداریم میایم از کد های http استفاده میکنیم
اینجا ok همون کد 200 رو برامون میفرسته
اون قسمتی که ابی رنگ هستش رو میگیریم
بعد اینطوری بهمون نشون میده
خطا اینه که باید متد http رو هم باید براش مشخص کنیم ببیند اینجا api ما درست داره کار میکنه ولی این ارور از سمت swagger هستش برای این که نمیتونه اون داکیونت رو درست کنه
توی postman داره درست کار میکنه
خوب اینجا
این معادل همون مسیری که به صورت پیش فرض توی معماری mvc اوکی شده میتونیم routing چند تایی هم داشته باشیم
خوب از این طریق میتونیم ip رو هم براش تعریف کنیم و اونور توی swagger بگیریم
خوب اینجا رو خیلی دقت کنیم
اینجا ما اومدیم تعریف کردیم که خودت بیا اتوماتیک route رو بساز چطوری ؟ گفتیم توی api برو توی controller که خوب اینجا controller مون میشه home چون طبق convention اسم این کنترلر رو گذاشتیم Home Controller و اون قسمت home اتوماتیک تشخیص داده میشه و قسمت بعدی اینه که ما یه action رو اومدیم تعریف کردیم به اسم index و اینطوری اومده از سمت کنترلر و اکشن یه route رو به صورت اتوماتیک درست کرده البته یکی اینه
یکی هم اون بالیه که جفتش اتوماتیک بدست اومده خوب حالا با استفاده از همین قابلیت میایم مینویسیم که هر اکشنی که توی این کنترلر تعیین شد بیا اتوماتیک route اش رو بساز ، اینطوری: میایم بالای کلاس کنترلر مینویسیم
اینطوری هم میشه که یکم عجیبه
با علامت ~ میتونیم اون route رو از ریشه تعیین کنیم
متونیم بر اساس متد های مختلف http بیایم و route های مختلف رو درست کنیم
خوب اینجا میاد بر اساس scaffolding عملیات crud رو به صورت اتوماتیک برامون آماده میکنیم
خوب حالا همونطوری که میبنیم بر اساس , delete , post , Get , put اومدیم روی یه آدرس تعیین کردیم که هر کدوم چی کار کنن
میتونیم برای route هامون order تعیین کنیم
این رو ما توی controller قسمت home نوشتیم
بعد میریم برای خوده product هم یه کنترلر میسازیم بعدش میایم routing خودش رو غیر فعال میکنیم
خوب اینجا اتفاقی که میوفته اینه که ما برای یک مسیر اومدیم در دو جا تعریفش کردیم و همین باعث ارور میشه چون یکیش توی کنترلر home هستش یکی دیگه اش هم توی خوده کنترلر Product
خوب توی این حالت یه آپشنی که داریم استفاده کردن از order هستش
خوب حالا وقتی که order رو هر چقدر منفی بودنش بیشتر باشه یعنی اولویت بالاتری برای اجرا شدن داره
وقتی که اون یکی 0 باشه و این بالاییه -1 این اجرا میشه و وقتی که بیایم برای اون یکی -2 رو بزاریم ف اول اون یکی اجرا میشه که -2 داره
توی این پروسه وقتی که این کار رو کردیم دیگه swagger میپوکه ولی با پستمن میتونیم تستش کنیم یا break point بزاریم و یه قابلیت دیگه این هستش که name بدیم به route