Written by
Amy
on
GithubAPI
Spec
- 01.
repoIssues
/ issueComment
: 깃헙 API를 call 해서 Owner의 Repo에 포스팅된 Issues (+ 이슈에 달린 comments)를 리스트 형태로 가져온다.
- 02.
createIssue
/ editIssue
: Issue를 create 하거나 edit할 수 있다.
- 03.
createComment
: 개별 Issue에 댓글을 달 수 있다.
API :: Protocol
- API 콜과 관련된 기능들을 통제할
protocol API
가 있습니다.
- 여기에는 위의 SPEC을 구현하기 위한 메소드들이 정의되어 있습니다.
Github API :: Struct
API Protocol
을 채택한 Github API
구조체입니다.
- 위 메소드들이 실제로 구현되어 있어,
response
를 받아 Completion Handler
를 실행하는 녀석들입니다. 내부에 API Call
은 Github Router
의 manager
를 통해 처리합니다.
Github Router :: Enum
- API Call을 처리하는 아이입니다.
- 여기서 효율적이라고 생각했던 점은, 이 부분이 enum으로 되어있어서,
switch self
하면서 case마다 알맞은 URLRequest
를 return 하게됩니다.
baseURL
manager: Alamofire.SessionManager
method: HTTPMethod
path: String
func asURLRequest() throws -> URLRequest