[CS] REST API란?

do_large·2020년 11월 27일
0

cs

목록 보기
7/9
post-thumbnail

https://devuna.tistory.com/79

REST란?

  • Representational State Transfer의 약자로
    자원(Resource)-URI
    행위-HTTP Method
    표현-Representation
    로 구성되어 있다.
  • 웹에 존재하는 모든 자원에 고유한 URI를 부여해 활용하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론
  • REST는 URI를 통해 자원을 표현하고 HTTP Method를 이용해 해당 자원의 행위를 규정하여 그 결과를 받는다.

REST API란?

REST를 기반으로 서비스 API를 제공하는 것

REST API 규칙

설계시 지켜야할 가장 중요한 항목 2가지

  • URI는 자원을 표현해야 한다
  • 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현해야 한다.

나머지 지켜야할 규칙들

1. 소문자를 사용하기

주소에서 대,소문자를 구분하므로, 카멜방식이 아니라 소문자를 사용하여 작성한다.

NO > postComments

http://restapi.example.com/users/postComments

YES > post와 comments를 하이픈으로 연결
http://restapi.example.com/users/post-comments

2. 언더바 대신 하이픈을 사용하기

가급적 하이픈의 사용도 최소화하고, 정확한 의미나 표현을 위해 단어의 결합이 불가피한 경우에 사용한다.

NO > post_comments
http://restapi.example.com/users/post_comments

YES > post와 comments를 하이픈으로 연결
http://restapi.example.com/users/post-comments

3. 마지막에 슬래시를 포함하지 않기

슬래시는 계층을 구분하는 것으로 마지막에는 사용하지 않는다.

NO > users/
http://restapi.example.com/users/

YES 
http://restapi.example.com/users

4. 행위를 포함하지 않기

행위는 URL대신 HTTP Method를 사용해서 전달한다.

NO > POST 
http://restapi.example.com/users/1/delete-post/1

YES > DELETE 
http://restapi.example.com/users/1/posts/1

5. 파일 확장자는 URI에 포함시키지 않기

REST API에서는 메시지 바디 내용의 format을 나타내기 위한 파일 확장자를 URI 안에 포함시키지 않습니다. 그대신 Accept header를 사용하도록 한다.

NO > 
http://restapi.example.com/users/photo.jpg

YES > 
GET http://restapi.example.com/users/photo 
HTTP/1.1 Host: restapi.example.com Accept: image/jpg

6. 가급적 전달하고자 하는 자원의 명사를 사용하되, 컨트롤자원을 의미하는 경우에는 예외적으로 동사를 허용함

NO >
http://restapi.example.com/posts/duplicating

YES >
http://restapi.example.com/posts/duplicate

0개의 댓글