پروژه web api
سلام وقت بخیر آقای اشرافی. چند تا سوال درباره پروژه web api داشتم.
- 1. شما خودتون اگه بخواهید یه api بنویسید از همه verb ها استفاده میکنید (که استانداردتره) یا اینکه مثلا فقط از post استفاده میکنید (چون ممکنه برای کلاینت استفاده ازش راحت تر باشه)؟
- 2. برای ریکوست هایی که برای admin هست باید کنترلر جدا از کاربر معمولی نوشت یا اینکه همون کنترلر ولی با url مخصوص؟ از نظر use case ها چطور؟ اینکه کاربر معمولی به همون use case هایی که ادمین بهشون دسترسی داره ممکنه مشکلی از نظر امنیتی ایجاد کنه و گاهی لازم باشه use case ها رو برای admin جداگانه نوشت؟
- 3. پروژه web api فروشگاه ت چه سطحیه(مقدماتی، متوسط یا پیشرفته) ؟ اگه کسی بتونه مشابه این api رو کدنویسی کنه (با تمام لایه ها نه فقط end pont) میشه گفت به restful api مسلطه؟
پاسخ ها
محمد اشرافی
سلام وقت بخیر
قطعا از همه Verb ها استفاده میکنم دلیلی نداره که برای delete کردن یه انتیتی از post استفاده کرد البته زیاد دیدم که همه رو روی post قرار میدن ولی این یا بی تجربه گی برننامه نویس رو نشون میده ، یا اینکه اون برنامه نویس پروژه براش مهم نبوده ولی در کل هر چی کد نویسی اصولی تری داشته باشید کار حرفه ای تری رو تحویل میدین و همین اصول جزئی رو اگر رعایت کنید کسی که کدتون رو میبینه متوجه حرفه ای بودنتون میشه
محمد اشرافی
درمورد سوال دومتون :
اگر پروژه کوچیک باشه من خودم همه api هارو یکجا میزارم ( پروژه کوچیک باشه و برنامه نویس سایت و ادمین یکی باشه )
از نظر امنیتی مشکلی نداره چون احرازهویت روشون هست ولی از نظر تمیزی و جدا سازی بهتره کلا api های ادمین جدا باشه و api های ظاهر وبسایت هم جدا
محمد اشرافی
من api های زیادی رو کار کردم هم public و هم پروژه های private میتونم بگم کم پروژه ای پیدا میشه که اصول بیشتری رو رعایت کرده باشن
اگر همچین پروژه ای بنویسید مطمعا باشید هرکی ببینه متوجه سطح پروژه میشه و از نظر خودم سطح اش پیشرفته است
masoumeh m
منظورتون از اینکه api ها جدا باشه اینه که دو تا پروژه api تعریف کنم که یکیش کلا برا ادمین باشه؟
محمد اشرافی
نه یعنی توی یه controller نباشن
مثلا اگر قراره usecase های User رو بزنید یه کنترلر برای ادمین باشه و یه controller برای کاربر سایت