인턴일지

인턴 Day19 (REST Api)

Calice 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. 왜 써야하는가?

  1. 쉬운 사용
    HTTP 프로토콜 인프라를 그대로 사용하므로 별도의 인프라를 구축할 필요가 없다.
  2. 클라이언트-서버 역할의 명확한 분리
    클라이언트는 REST API를 통해 서버와 정보를 주고받는다. REST의 특징인 Stateless에 따라 서버는 클라이언트의 Context를 유지할 필요가 없다.

3. 어떻게 작성해야하는가?

- 참고 사이트 : RESTful API 바르게 사용하기 (tistory.com)

 

RESTful API 바르게 사용하기

들어가며 웹 기반의 개발을 진행한다면 누구나 REST API에 대한 이야기를 듣습니다. 그리고 현재는 거의 모든 API Call 은 RESTful을 따르고 있습니다. 하지만 저는 이것을 바르게 사용하고 있다고 보

bloowhale.tistory.com