클라이언트의 요청에 맞게 데이터를 보내줌
서버와 클라이언트는 역할적 관계이지 고정적 관계가 아님, 1:n 관계
http 통신을 하려면 주소를 알아야 한다
헤더와 바디에 담긴 패킷을 보낸다
post 생성 get 조회 patch 일부 수정 delete 삭제 put 수정
?
: 시작을 알리는 구분자&
: key, value 구분자path variable
/userId/userId ex. /user/2
/user/{userID} or /user/:userId 두 가지 방식이 있음
Body
Json 객체를 사용자가 정의한 자바 객체로 변환해주는 작업
역직렬화를 도와주는 라이브러리 : Gson
2. API 호출을 위한 인터페이스 정의
3. Retrofit Client 생성
Retrofit Client 라는 싱글턴 클래스 생성
Retrofit.Builder 클래스의 인스턴스를 만들고 base url 구성
4. Request 전송
API 호출을 위한 getWeatherData() 메서드 구성
enqueue() 메서드를 통해 비동기적으로 네트워크 통신 진행
response 를 잘 받았을 때와 실패했을 경우를 나누어 예외 처리
cf. 안드로이드에서 네트워크 통신을 하기 위해서는 okhttp3 라는 통신 라이브러리의 도움을 받아 api 를 호출해 데이터를 주고 받을 수 있다.
cf. okhttp3 를 통해 받아온 Json 데이터를 변수나 객체에 담아 사용하는 방법은 okhttp3 Json 파싱하기 키워드를 통해 검색
cf. 구체적인 함수나 메소드는 okhttp3 라이브러리 깃허브에서 확인