서버통신은 살짝 복붙쓰~ 느낌이 강할정도로 한번 이해해두면 나중에는 붙이기 편한거 같다. 물론 내가 아직 개빡센 API를 못 봐서 그런걸 수도 있지만.. 쨋든 잊지 않도록 지금이라도 정리해보려고 한다!
유독 개발관련 아티클이 그렇긴 한데, 나 볼라고 만든거다!!! 모르는거 있으면 말로는 진짜 설명해줄 수 있어..
일단 서버에서 요청하는 모델과 응답하는 모델을 먼저 정리해둔다!
ZOOC 프로젝트에서는 아래의 컨벤션을 통해 네이밍을 했다
요청, 응답 모델에서는 서버에서 “우리 이렇게 정리해서 보내줘!”의 붕어빵 틀을 만들어 준 거면
TargetType은 이제 붕어빵안에, “팥 넣을거야? 슈크림 넣을거야?” 등으로 어떤 식으로 보낼지를 정해준다! 아래와 같은 것을 정의해줄 수 있다.
ZOOC에서 우리는 enum 타입으로 한 페이지에 연관된 기능들의 API로 case로 나누고 각각 baseURL, path, method, task, header 등등을 정해주었따!
쭉에서는 통신함수를 다양한 Network Base 파일들을 활용해서 ViewController에서는 오직 요청에 필요한 값을 전달하고, 받아온 응답 값을 활용하는 코드만 남기도록 구현했다.