• 1401/05/17

چه موقع از اینترفیس استفاده کنم و چه موقع از DTO :

سلام مهندس یک موضوع که برام مبهم هستش اینه که چه موقع از اینترفیس استفاده کنم و چه موقه از DTO

توی اموزش مثلا برای دریافت دیتا از فرم از DTO استفاده کردید به صورت زیر

	
	export class LoginUserDTO { => کلاس مدل
  constructor(
    public Email: string,
    public PassWord: string
  ) {
  }
}

	
	
	
	
	
	
	
	
	
	
	 loginSubmit(){
	 
  if(this.loginForm.valid){
  
  
  
    var loginData=new LoginUserDTO( => استفاده از مدل برای دریافت دیتا از فرم
      this.loginForm.controls["Email"].value,
      this.loginForm.controls["PassWord"].value
    );
	
	
	
	
    this.authService.login(loginData).subscribe(res=>{
      console.log(res);
    })
  }
  }
	

ولی اینترفیس برای ریترن تایپ یک تابع و جهت سابسکرایب کردن اون مورد استفاده قرار میگیره یعنی دیتای برگشتی که از بک اند میاد مثل کد زیر

	export interface IloginUser { => تعریف اینترفیس
  status: string,
  data: {
    token: string,
    expireTime: number,
    firstName: string,
    lastName: string,
    userId: number
  }
}
	public login(loginUserDTO:LoginUserDTO):Observable<IloginUser>{ 
	
    return this.httpClient.post<IloginUser>("account/login",loginUserDTO);
	
  }
	

 

ولی تو اموزش بعضا دیدم که شما برای ریترن تایپ برگشتی از بک اند و جهت سابسکرایب کردن از مدل استفاده کردید

این چطور میشه؟

کی از مدل DTO استفاده کنم و کی از اینترفیس؟

سپاسگذارم

 

 

  • 1401/05/17
  • ساعت 21:19

سلام دوست من

برای دریافت نتیجه ی api از سرور یک interface ساخته شده به نام IResponseResult که داخل اون از dto استفاده شده

از interface ها برای قرارداد ها استفاده میشه که یک فرمت کلی رو برای ساختارهای مختلف ، به صورت یکسان در نظر میگیره


  • 1401/05/17
  • ساعت 21:40

بسیار عالی ممنونم


  • 1401/05/19
  • ساعت 09:19

خواهش میکنم دوست من

موفق باشین :)


logo-samandehi