Open 2yunseong opened 8 months ago
여러분들 프로젝트는 어떻게 API를 추상화 하였나요? + 현재 제가 진행중인 프로젝트의 API 구조를 살펴보면서 개선해야할 점을 같이 이야기해보면 좋을 것 같습니다. 아래는 개괄적인 구조입니다.
아래 구조에서 이어진 질문인데 프론트에서 서버에서 받아온 데이터를 조작해서 띄워줄 건데, 이걸 ViewModel인 DTO에서 해도 될까요? 저는 DTO 아래 한층 더 아래인 계층을 따로 만들어 데이터를 조작하였습니다.
쉽게 어떤 상황인지 이해하기 위해 아주 간단한 예를 들어 서버에서 다음의 학생정보를 받아옵니다.
interface GetStudentResponse { id: number; name: string; department: string; }
학생 배열을 받아온 이후 department에 따라(공대, 사회대, 인문대) 학생들을 분류한 데이터를 가지고 싶습니다. 즉 이런 모양이 되겠죠. 이때, department는 특정한 값이 아니고 어떤 string이도 올 수 있다 가정하겠습니다.
interface SomeType { [department keyof string]: GetStudentResponse ; }
그럼 GetStudentResponse를 SomeType으로 transform하는 로직은 어느 계층이 들어가면 좋을까요 ? 꼭 API 계층이 아니여도요.
이야기 할 주제
여러분들 프로젝트는 어떻게 API를 추상화 하였나요? + 현재 제가 진행중인 프로젝트의 API 구조를 살펴보면서 개선해야할 점을 같이 이야기해보면 좋을 것 같습니다. 아래는 개괄적인 구조입니다.
아래 구조에서 이어진 질문인데 프론트에서 서버에서 받아온 데이터를 조작해서 띄워줄 건데, 이걸 ViewModel인 DTO에서 해도 될까요? 저는 DTO 아래 한층 더 아래인 계층을 따로 만들어 데이터를 조작하였습니다.
쉽게 어떤 상황인지 이해하기 위해 아주 간단한 예를 들어 서버에서 다음의 학생정보를 받아옵니다.
학생 배열을 받아온 이후 department에 따라(공대, 사회대, 인문대) 학생들을 분류한 데이터를 가지고 싶습니다. 즉 이런 모양이 되겠죠. 이때, department는 특정한 값이 아니고 어떤 string이도 올 수 있다 가정하겠습니다.
그럼 GetStudentResponse를 SomeType으로 transform하는 로직은 어느 계층이 들어가면 좋을까요 ? 꼭 API 계층이 아니여도요.