REST API는 HTTP를 이용해서 기계들이 통신을 할 때 HTTP가 가지고 있는 기능을 최대한 활용해서 명확하면서 단순하게 통신할 수 없을까?하는 고민에서 출발한 모범사례라고 할 수 있습니다.
API란 무엇인가?
컴퓨터의 기능을 실행시키는 방법을 의미한다
화면에 헬로우 월드를 실행시키는 방법이 파이썬, 자바 마다 다른것처럼..
REST API란 무엇인가?
REST API도 컴퓨터의 기능을 실행시키는 명령이긴한데,
내 컴퓨터가 아닌 남의 컴퓨터를 실행시킨다.
사례
예를들어
나의 앱이 000 주소로 접혹하면
구글캘린더에 등록되어있는 나의 캘린더를 구글 캘린더에서 이렇게 출력해준다
{
이고잉 일정
Asia/Seoul
}
또한
이 주소로 접속하면
트위터의 글을 가져올 수 있다.
가져올 뿐 아니라 글을 추가하고 수정하고 삭제하는것도 가능하다.
이렇게 인터넷과 웹을 통해서 나의 컴퓨터를 제어할 때 어떻게하면 시행착오를 줄이고 더 좋은 api를 만들수 있는가에대한 고민의 결과물이 rest api 라고 할 수 있다.
rest api는 특정 기술을 의미하는 것이 아니고, http를 이용해서 기계들이 통신할때 http가 가진 잠재력을 최대한 이용할 수 있도록 유도하기위한 모범사례라고 할 수 있다.
Resource
Resource는 URI를 통해서 표현됩니다.
collection은 복수형을 사용한
한건한건의 토픽을 엘리먼트라고한다. 엘리먼트가 모여 컬렉션이 된다. 아이디값을 사용하는게 일반적이다. 1 처럼. 그리고 rest 처럼 문자로도 표현 가능하다.
Method
리소스를 URI로 표현하는것 만으로는 아무것도 할 수 없다.
URI는 단지 그 정보를 식별하는 이름일 뿐이고, 이 정보를 가공할 수 있어야 한다.
정보에 대한 가공방법은 많아보이지만 4가지.. 생성, 읽기, 수정, 삭제: CRUD(Creat, Read, Update, Delete) 밖에 없다.
이런 작업들을 Rest Api 에서 메소드라고 한다.
RestApi는 웹의 통신규약인 http를 이용하기때문에 http가 가지고 있는 메소드를 이용한다.
Create: 생성
http에서 생성(create)를 위해 준비된 메소드는 post 이다.
실제 웹 애플리케이션에서는 폼을 이용해서 데이터를 전송할때 수정 생성 삭제를 할때 모두 post를 쓰지만 본래 post는 생성을 위해서 준비된 기능이였다. rest api는 http의 본래의 기능에 맞게 쓰자는것도 하나의 목표이기때문에 post는 생성을 위해서 쓰기로 했다.
Read: 읽기
읽기(read)는 get 메소드 이다.
Update: 수정
수정은 전체 내용을 교체하는 put 이 있고, 부분을 변경하는 patch 가 있다.
Delete: 삭제
삭제(delete)는 delete 메소드 이다.
실습소개
실습방법
실습시작
생성
읽기
수정
삭제
관계
참고
www.youtube.com/watch?v=PmY3dWcCxXI&t=39s&ab_channel=%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9
'Android > Android 더하기' 카테고리의 다른 글
MVVM 패턴 (0) | 2021.04.22 |
---|---|
[Android Library] OkHttp : Http OK?? OK!! (0) | 2021.04.19 |
[Android Library] Gson : Json을 Java 객체로 변환 (0) | 2021.04.19 |
HTTP 원리 (0) | 2021.04.15 |
의존성 주입(DependencyInjection) - Koin/Dagger2 /Hilt (0) | 2021.04.09 |