API 구현할 때, 클라이언트한테 어느정도까지 해서 보내야 해?
EUNJIHA opened this issue · comments
Grace commented
❓ [의문점]
: 특정 Band의 Posts를 보여줄 때, 사진과 동영상이 같이 있는 경우 항상 동영상이 사진보다 앞선다. 서버 개발자는 이 순서도 고려하여 API를 설계 구현 해야 하는가? 아니면 클라이언트 영역으로 넘길 것인가?
💯[해결법]
: 정렬(Order by 등), 필터(Where절, LIKE등), 값 계산(SUM 등) 처럼 SQL 구문으로도 처리할 수 있는 것들은 모두 서버 개발자가 구현해놓는 게 좋다.
💥[이유]
: Client-Server 관계는 보통 (N:1)의 관계이다. 서버에서 할 수 있음에도 클라이언트에게 넘긴다면 다수의 클라이언트는 각자 모두 구현해야 한다. (전체구조상 비효율적임.)
✔[추가설명]
Client - Server - DB
Client에는 (Android, IOS, WEB, WebApp, HybridApp) 등이 있다.
-
그럼 클라이언트에서 처리해야 할 부분은 무엇인가?
가령, 각 클라이언트 마다 형식이 다른 경우. Android와 IOS는 각각 ListView - TableView / RecycleView - CollcView 일 때는 서버 쪽에서는 단순히 기본 값으로 넘겨주고 각 클라이언트 형식에 맞게 처리하도록 하면 된다. -
물론, 각 Client 별로 API를 여러 개 만들 수도 있다. 이를 관리 Point라고 하는데, 관리 Point가 많아질 수록 유지 보수가 복잡해진다.