retrofit

Android

[Android] REST API 예외처리

REST API를 사용해서 통신을 하다보면 통신에 실패했을 때에 대한 예외 처리도 해주어야 한다. 오른쪽 위에 200 OK라고 뜬 것이 통신 코드이다. 통신에 성공하면 저렇게 내용도 뜨고 통신 코드도 잘 나온다. 하지만 통신에 실패하면 아래와 같은 통신 코드와 에러 내용을 받게 된다. 클라이언트에서 REST API로 통신을 했는데 에러를 받으면 정상적으로 내용이 나오지 않을 것이다. 이것에 대해 예외 처리를 해주는 것이다. 보통은 예외 종류에 따라 에러 메세지를 출력해주게 만든다. 쉽게 말해 클라이언트에서는 사용자가 통신에 실패한 것을 두 눈으로 확인할 수 있게 출력해주는 처리를 해야하는 것이다. 프로젝트에서 REST API 통신은 레트로핏을 이용하였고, 코루틴을 사용해서 통신 처리를 했다. 예외 처리는..

Android

[Android] Retrofit Multipart로 이미지 전송하기

Multipart HTTP 요청의 한 종류로 HTTP 서버로 파일 혹은 데이터를 보내기 위한 요청 방식이다. 위와 같이 백엔드에서 REST API 명세서를 작성해주면 해당 명세서에 맞게 통신 코드를 구현해야 한다. 상황에 따라 Multipart 데이터 내용은 달라질 수 있기 때문에 명세서를 잘 보고 명세서에 맞게 값을 넣어야 한다. 이미지가 여러개일 수도 있고, 여러개의 String 값이 들어올 수도 있고, 하나의 이미지에 JSON 값을 요청할 수도 있다. 위 상황에서는 하나의 이미지에 JSON 값을 요청하는 경우이다. 포스트맨에서 Multipart 요청을 보내기 위해서는 다음과 같이 사용된다. 회원가입을 할 때 사진과 아이디, 닉네임 등 여러 데이터를 전달하는 상황이다. Body에 form-data로 ..

Android

[Android] Retrofit + Kotlin Coroutine 서버 통신하기

지난번에 포스팅 했던 Retrofit을 사용해서 서버와 통신하는 글을 보고 오시는 것을 추천합니다. [Android] Retrofit을 사용해서 서버와 통신하기 Retrofit이란? Rest API 통신을 위해 구현된 라이브러리 Squareup사의 OkHttp 라이브러리의 상위 구현체 Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축됨 초창기 안드로이드 네트워크 통신은 sangyoon98.tistory.com Intro Retrofit을 사용해서 자바와 코틀린 두가지 언어로 통신하는 방법을 포스팅했었다. 하지만 CallBack 메소드를 호출하던 방식이라 코드의 길이도 길었고 완전한 비동기 프로그래밍 방법이 아니었다. 그래서 이번에는 Coroutine을 사용해서 서버 통신을 비동기 ..

Android

[Android] Retrofit을 사용해서 서버와 통신하기

Retrofit이란? Rest API 통신을 위해 구현된 라이브러리 Squareup사의 OkHttp 라이브러리의 상위 구현체 Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축됨 초창기 안드로이드 네트워크 통신은 HttpURLConnection / Apache HTTP Client 사용 하지만 단점이 많아 Deprecated 되고 OkHttp, Volley, Retrofit 등 라이브러리 사용 근데 왜 하필 Retrofit이냐! 서버 통신은 비동기 처리를 위해 스레드를 사용해야 하는데 스레드 성능이 제일 빠르기 때문이다 Retrofit 장점 매우 빠른 성능!! 위에서 보았듯이 매우매우매우 빠르기 때문에 안 쓸 이유가 없다 간단한 구현HttpURLConnection의 Connectio..

Sangyoon98
'retrofit' 태그의 글 목록