تفاوت بین DTO، اینترفیس ها و Schema در nestjs چیست؟
Dto، اینترفیس ها و Schema فقط مختص Nestjs نیستند.
DTO
برای اعتبارسنجی ورودی ها استفاده میشود. شما میتوانید از دکوراتورها در dto استفاده کنید تا بتوانید درخواستها را validate کنید.
مثال: شما دادههایی را برای مسیر ثبتنام میخواهید که در Body ارسال میشود. سپس می توانید از DTO برای فیلتر کردن فقط اطلاعات مورد نیاز و حذف بقیه استفاده کنید.
Schema یک مفهوم Mongo هستند و برای فعال کردن خواندن و نوشتن از پایگاه داده مورد نیاز هستند. Schema نحوه تعریف موجودیت ها، روابط و غیره در یک پایگاه داده است. یک Schema می تواند چندین جدول داشته باشد و روابط زیادی مانند OneToMany، ManyToOne، ManyToMany داشته باشد.
Interface ها برای بررسی type و تعریف انواع داده هایی که می توانند به یک کنترل کننده یا یک سرویس Nest ارسال شوند، استفاده می شود. وقتی میخواهید امنیت زمان کامپایل را در کدی که دارید، اعمال کنید،آنها بسیار مفید خواهند بود. هنگامی که در لایه سرویس قرار گرفتید، اگر به decorator نیاز ندارید، همیشه می توانید برای ارتقای ایمنی نوع به سراغ Interface ها یا type ها بروید.
DTO : برای اعتبارسنجی ورودی ها استفاده می شود.
Schema/DB : در لایه service برای تعاملات پایگاه داده جدا از controller استفاده می شود.
Interfaces/Types : برای همه کدهای lib که به دکوراتور نیاز ندارند، استفاده می شود.
ثبت دیدگاه جدید
0 دیدگاه
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *