-
인턴 Day19 (REST Api)인턴일지 2022. 5. 24. 15:05
0. Day19
- 배운 것
rest api가 무엇인가? 왜 써야하는가? 어떻게 쓰는가?
요즘 하도 rest api 말하지만 정확하게 무엇인지 몰랐다. 그래서 찾아보았고 api 작성할 때 여러조건이 있지만 post, put, get, delete 이렇게 나눠서 쓰는 것을 배웠다. 그런데 html5는 form에서 put, delete를 지원하지 않는다고 한다. 대혼란...
그럼 그걸 빼고 설계하면 restful한게 아니지 않은가? 그래서 고민이 많다. 왜 지원하지 않는지도 찾아봐야겠다.
'REST API 설계시 put/delete 사용하나요?' 는 사실 질문이 잘못됐습니다. 저거 사용안하고 행위를 url에 표현하면 그건 그냥 REST API가 아닌거에요.
1. REST가 무엇인가?
- Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다.
- REST란, “웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용”하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미한다고 한다. 이런 REST의 형식을 따른 시스템을 RESTful 이라고 부른다.
2. 왜 써야하는가?
- 쉬운 사용
HTTP 프로토콜 인프라를 그대로 사용하므로 별도의 인프라를 구축할 필요가 없다. - 클라이언트-서버 역할의 명확한 분리
클라이언트는 REST API를 통해 서버와 정보를 주고받는다. REST의 특징인 Stateless에 따라 서버는 클라이언트의 Context를 유지할 필요가 없다.
3. 어떻게 작성해야하는가?
- 참고 사이트 : RESTful API 바르게 사용하기 (tistory.com)
RESTful API 바르게 사용하기
들어가며 웹 기반의 개발을 진행한다면 누구나 REST API에 대한 이야기를 듣습니다. 그리고 현재는 거의 모든 API Call 은 RESTful을 따르고 있습니다. 하지만 저는 이것을 바르게 사용하고 있다고 보
bloowhale.tistory.com
'인턴일지' 카테고리의 다른 글
인턴 Day21 (배포 관련 개념) (0) 2022.05.24 인턴 Day20 (검색, 페이징 기능) (0) 2022.05.24 인턴 Day18 (Android, Spring 연동 (retrofit2) / WebView) (0) 2022.05.13 인턴 Day16 (첨부파일 업로드, 다운로드 / 이미지 업로드 ) (0) 2022.05.10 인턴 Day15 (추천, 스크랩 기능 구현하기) (0) 2022.05.06 - 쉬운 사용