خوب دقت کنید که 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