عرض سلام
میدونیم که به مدلهای زیادی و در جاهای زیادی میشه ولیدیشن انجام داد. اما دقیقا نمیدونم کدوم یکی، میتونه بهتر باشه.
با توجه به تصویر زیر، من برای عملیاتهای GET & POST اومدم بین کلاسهام، یه کلاس ولیدیشن تعریف کردم و اطلاعات رو از endpoint گرفتم و فرستادم سمت کلاسها. اونجا ولیدیشن رو انجام دادم و نتیجه رو برگردونم سمت endpoint؛ در نهایت با توجه به نتیجهی برگشتی از سمت کلاسها، یا ارور نشون دادم و یا عملیات رو اجرا کردم..
یه روش دیگه که به ذهنم رسید، این بود که دیتاهایی که دریافت میکنم رو، همینجا توی endpoit اعتبارسنجی اولیه رو انجام بدم، مثلا اینکه آیا مقدار دریافتی استرینگه؟ آیا حتما set شده؟ خالی نیست؟
و برای اعتبارسنجیهای پیچیدهتر (مثلا چک کردن اینکه آیا شهری که ما اصلا قراره اسمشو تغییر بدیم، توی دیتابیس وجود داره یا نه؟) دیتاها رو بفرستم توی کلاسهای ولیدیشن.
این مدلی رو توی عملیات PUT و یه ذره توی GET انجام دادم. مثل تصویر زیر:
ممنون میشم بفرمائید کدومشون مناسب تره، بهینه تره؛ و اگرم اشتباهه کلا، لطفا بگید روش صحیح چیه؟