intro) MOYA 서버 통신 정리하기

서버통신은 살짝 복붙쓰~ 느낌이 강할정도로 한번 이해해두면 나중에는 붙이기 편한거 같다. 물론 내가 아직 개빡센 API를 못 봐서 그런걸 수도 있지만.. 쨋든 잊지 않도록 지금이라도 정리해보려고 한다!

유독 개발관련 아티클이 그렇긴 한데, 나 볼라고 만든거다!!! 모르는거 있으면 말로는 진짜 설명해줄 수 있어..

1. 요청, 응답 모델 구현하기

일단 서버에서 요청하는 모델과 응답하는 모델을 먼저 정리해둔다!

ZOOC 프로젝트에서는 아래의 컨벤션을 통해 네이밍을 했다

2. TargetType 만들기 (with. ZOOCService)

요청, 응답 모델에서는 서버에서 “우리 이렇게 정리해서 보내줘!”의 붕어빵 틀을 만들어 준 거면

TargetType은 이제 붕어빵안에, “팥 넣을거야? 슈크림 넣을거야?” 등으로 어떤 식으로 보낼지를 정해준다! 아래와 같은 것을 정의해줄 수 있다.

ZOOC에서 우리는 enum 타입으로 한 페이지에 연관된 기능들의 API로 case로 나누고 각각 baseURL, path, method, task, header 등등을 정해주었따!

Untitled

예시 코드

➕) 관련된 BASE Network 파일

3. 통신함수 만들기 (with. ZOOCAPI)

쭉에서는 통신함수를 다양한 Network Base 파일들을 활용해서 ViewController에서는 오직 요청에 필요한 값을 전달하고, 받아온 응답 값을 활용하는 코드만 남기도록 구현했다.

  1. 모야 통신을 위해서 → MoyaProvider 객체가 있어야 하는데 초기화시 MoyaTarget이 필요하다.