(TIL) RESTful API

SooHyung Kim·2020년 5월 10일
0

Today I learned

목록 보기
22/25

1차 프로젝트를 진행하면서 view를 활용한 엔드포인트를 지정해 줄 때 RESTful 형식으로 지정해줘야 한다는 사실을 다시 알게 되었고, 이를 정리하고 싶어 정리한다!

설명 전 기본 배경 지식

URI(Uniform Resource Identifier)

  • 해당 사이트의 특정 자원의 위치를 나타내는 유일한 주소
    (/login, /news)

    URL과의 차이점은 무엇일까? 다음 블로그 소재로 써야겠다!

HTTP Method

  • HTTP request가 의도하는 action을 정의(POST, GET 등)

Payload

  • HTTP request에서 보내는 데이터 (body)

RESTful API

RESTful이라는 것은 충분히 REST하다는 의미처럼 보이는데 REST는 뭘까?

REST(REpresentational State Transfer)

HTTP URI를 통해 자원(Resource)을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미

구성요소 : Resource, Method, Representation of Resource

1. Resource - URI

   - 모든 자원은 고유한 URI가 있으며, 클라이언트는 URI를 통해 정보를 서버에 요청
  
2.  Method - HTTP Method

   - GET, POST, PUT, DELETE 등의 HTTP Method
  
3. Representation of Resoucrce - json, xml 등

   - 서버에서는 클라이언트의 요청을 응답해야하는데, json, xml 등을 통해 응답
   

특징

 1. 서버 - 클라이언트 구조
 2. 무상태
 3. 캐시 처리 가능
 4. 계층화
 5. 자체 표현
 6. 인터페스 일관성
 
 

REST API

- 말 그대로 위에 설명한 REST를 기반으로 API를 구현한 것

REST API 설계 규칙

1. 슬래시를 이용하여 계층 관계를 나타냄
``` https://velog.io/write7

2. URI의 마지막 문자로 슬래시를 포함하지 않음

3. URI가 길어질 경우 하이픈(-)으로 가독성을 상승

4. 언더바(_)는 URI에 사용하지 않음

5. 대문자는 지양하고 소문자를 사용

6. 파일 확장자는 URI에 포함하지 않음

RESTful

  • RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹서비스를 나타낼 때 사용하는 용어

    • 즉, REST API를 제공하는 웹 서비스는 RESTful하다고 할 수 있음!

    • 공식적으로 어디선가 발표 하는 것이 아니기 때문에 일반적 이라는 수식어가 지칭

profile
Slow and steady win the race

0개의 댓글