한 걸음 두 걸음

android 안드로이드 ] 레드로핏 Retrofit2이란? REST HTTP 본문

FrontEnd/Android

android 안드로이드 ] 레드로핏 Retrofit2이란? REST HTTP

언제나 변함없이 2019. 6. 2. 22:24
반응형

이 포스팅은 Retrofit 이해입니다. 다음 포스팅은 Retrofit2 실습으로 구성되어 있습니다.

Retrofit이해하기

Retrofit2 란?

Retrofit2는 안드로이드에서 서버와의 통신을 위한 Square사의 라이브러리입니다. 이는 HTTP통신에 활용하며 다른 라이브러리인 Volley나 Asynctask보다 성능(응답효율)이 좋습니다.

레트로핏 이해돕기

동기비동기

레트로핏은 동기 비동기를 모두 지원합니다. 이 때 동기 비동기란 무엇일까요?
동기 synchronous : 동시에 일어난다는 뜻으로, 요청과 결과가 하나의 트랜잭션으로 작용합니다. 즉, 요청 후 결과가 올 때까지 대기한다는 뜻이죠. 대신 구현하기 쉽습니다. 결과값이 오면 실행하는 코드를 곧바로 연결시켜줄 수 있습니다.
비동기 Asynchronous : 동시에 일어나지 않는다는 뜻으로, 요청과 결과를 받는 것이 별개로 작용합니다. 즉, 요청 후 결과가 올 때까지 대기하지 않고 다른 작업을 하다가 결과가 도착하면 백그라운드에 있던 결과수신 작업이 이벤트를 받아 처리합니다.

POJO

Plain Old Java Object
즉, 간단한, 오래된 자바 오브젝트
프레임워크 등의 기술에 의존하지 않고 그 자체로 이해하기 쉽고 객체지향적이게 만들어진 오브젝트
즉, 그냥 우리들이 잘 만든 순수한 자바 오브젝트라고 생각하면 편할 것 같아요~

REST

Representational State Transfer
Client와 Server 사이의 통신 방식으로
기존에 사용하던 HTTP프로토콜을 그대로 활용합니다.

사용이유
멀티 플랫폼(android, ios 등)에 대한 지원을 위해

REST API를 사용하는 서비스를 RESTful이라 표현

REST레퍼런스 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

헷갈릴 수 있는 http method에 대한 설명

  1. GET : 요청한 URI로부터 데이터를 받아오기 위해 사용하는 메소드
    URL에 쿼리를 작성하여 요청하기 때문에 데이터 개수 제한이 존재한다.
  2. POST : 특정 리소스를 추가 및 변경(주로 추가)하기 위해 사용되는 메소드
    Body에 요청 데이터를 담아 전송하기 때문에 데이터 개수 제한이 존재하지 않는다.
    POST는 같은 호출을 여러 번 반복하면 예기치 못한 결과가 생길 수도 있다.
  3. PUT : 특정 리소스를 추가 및 변경(주로 변경)하기 위해 사용
    PUT 메소드는 같은 호출을 여러 번 반복해도 동일한 결과를 반환한다.

실습 POST : https://onepinetwopine.tistory.com/506

반응형