CS 잡지식

DTO에는 2종류가 있다(Feat. RequestDTO, ResponseDTO)

JIN_YOUNG _KIM 2023. 5. 4. 11:49

API 개발 시에는 항상 DTO를 2개로 만들어서 개발을 하자!!!!

 

RequestDTO : [클라이언트]에서 API를 호출할 때 필요한 스펙

ResponseDTO : [서버]에서 반환하는 [API 결과 스펙]

EX) 시나리오 : 이름(name)과 나이(age)를 입력해서 API를 호출하면, 서버에서 그 사람의 소속 대학(university)를 반환하

는 API가 있다고 하자. 

 

1] 클라이언트가 API 호출 시, 필요한 API 스펙

{

"name" : "jin young"

"age"   : "20"

}

2] 서버의 API 결과 스펙

{

"university" : "DONG-A"

}

-> 1]에서 클라이언트가 이름(name)과 나이(age)를 보내면, 서버에서 그 정보를 객체(DTO)로 받아야 한다. 

(Spring, JPA를 사용하기에 객체 형태로 보내야 하는 것이지, 모든 플랫폼에서 그러는 것은 절대 아님)

이러한 DTO를 RequestDTO라고 한다.

class RequestDTO{

private String name;

private int age;

}

-> 서버에서 이름(name)과 나이(age)를 가지고 소속대학(university)를 클라이언트에게 반환을 할 때에도 객체(DTO) 

형태로 보내야 한다. 

Class ResponseDTO{

private String university;

}