پروژه web api

سوال شده توسط: masoumeh m

تاریخ ثبت: ۱۴۰۳/۰۶/۱۴

بازدید: 116

پاسخ: 5

تگ: Asp.net Core


سلام وقت بخیر آقای اشرافی. چند تا سوال درباره پروژه web api داشتم.

  1. 1. شما خودتون اگه بخواهید یه api بنویسید از همه verb ها استفاده میکنید (که استانداردتره) یا اینکه مثلا فقط از post استفاده میکنید (چون ممکنه برای کلاینت استفاده ازش راحت تر باشه)؟
  2. 2. برای ریکوست هایی که برای admin هست باید کنترلر جدا از کاربر معمولی نوشت یا اینکه همون کنترلر ولی با url مخصوص؟ از نظر use case ها چطور؟ اینکه کاربر معمولی به همون use case هایی که ادمین بهشون دسترسی داره ممکنه مشکلی از نظر امنیتی ایجاد کنه و گاهی لازم باشه use case ها رو برای admin جداگانه نوشت؟
  3. 3.  پروژه web api  فروشگاه ت چه سطحیه(مقدماتی، متوسط یا پیشرفته) ؟ اگه کسی بتونه مشابه این api رو کدنویسی کنه (با تمام لایه ها نه فقط end pont) میشه گفت به restful api مسلطه؟
  4.  
پاسخ ها
user

محمد اشرافی

سلام وقت بخیر 

قطعا از همه Verb ها استفاده میکنم دلیلی نداره که برای delete کردن یه انتیتی از post استفاده کرد البته زیاد دیدم که همه رو روی post قرار میدن ولی این یا  بی تجربه گی برننامه نویس رو نشون میده ، یا اینکه اون برنامه نویس پروژه براش مهم نبوده ولی در کل هر چی کد نویسی اصولی تری داشته باشید کار حرفه ای تری رو تحویل میدین و همین اصول جزئی رو اگر رعایت کنید کسی که کدتون رو میبینه متوجه حرفه ای بودنتون میشه

user

محمد اشرافی

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

اگر پروژه کوچیک باشه من خودم همه api هارو یکجا میزارم ( پروژه کوچیک باشه و برنامه نویس سایت و ادمین یکی باشه )

از نظر  امنیتی مشکلی نداره چون احرازهویت روشون هست ولی از نظر تمیزی و جدا سازی بهتره کلا api های ادمین جدا باشه و api های ظاهر وبسایت هم جدا

user

محمد اشرافی

من api های زیادی رو کار کردم هم public و هم پروژه های private میتونم بگم کم پروژه ای پیدا میشه که اصول بیشتری رو رعایت کرده باشن

اگر همچین پروژه ای بنویسید مطمعا باشید هرکی ببینه متوجه سطح پروژه میشه و از نظر خودم سطح اش پیشرفته است

user

masoumeh m

منظورتون از اینکه api ها جدا باشه اینه که دو تا پروژه api تعریف کنم که یکیش کلا برا ادمین باشه؟ 

user

محمد اشرافی

نه یعنی توی یه controller نباشن 

مثلا اگر قراره usecase های User رو بزنید یه کنترلر برای ادمین باشه و یه controller برای کاربر سایت

برای ثبت پاسخ باید خود شوید