백엔드 (Back-End)/스프링 (Spring)

<Spring>REST API 란?

xxvigrufv 2022. 9. 4. 21:31
반응형

REST API 란?
Representational State Transfe라는 용어의 약자이다.
자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것을 의미한다.

REST의 구성 요소
- 자원(Resource): URI
- 행위(Verb): HTTP METHOD 

 CRUD = > Create 데이터 생성 (POST)

                   Read 데이터 조회 (GET)

                   Update 데이터 수정 (PUT)

                   Delete 데이터 삭제 (DELETE)

 - 표현(Representations)

Rest는 URI를 통해 자원을 표시하고, HTTP method를 이용하여 해당 자원의 행위를 정해주며 그 결과를 리턴한다.

 




REST API 설계 규칙

1. 소문자만을 사용한다. 
   -> 카멜방식이 아닌 소문자를 사용하여 작성한다.
http://www.workathome.com/users/postComments
http://www.workathome.com/users/post-comments

2. 언더바 ( _ ) 대신 하이픈 ( - )를 사용한다.
   -> 정확한 의미나 표현을 위해 단어의 결합이 불가피한 경우에 사용한다.
   -> 가독성을 위해 긴 Path를 표현하는 단어는 하이픈으로 구분하는 것이 좋다.
http://www.workathome.com/users/post_comments
http://www.workathome.com/users/post-comments

3. 마지막에 슬래시 ( / )를 포함하지 않는다. 
http://www.workathome.com/commits/
http://www.workathome.com/commits

4. 행위는 포함하지 않는다.(GET, POST, PUT, DELETE 등)
http://www.workathome.com/users/1/delete-post/1
http://www.workathome.com/users/1/posts/1

5. 파일 확장자는 URI에 포함하지 않는다.  
   -> Accept header를 사용하도록 한다.
http://www.workathome.com/users/photo.jpg
GET http://www.workathome.com/users/photo

6. 가급적 동사가 아닌 자원의 명사를 사용한다.
http://www.workathome.com/posts/duplicating
http://www.workathome.com/posts/duplicate

7. URI에 작성되는 영어를 복수형으로 작성한다.
http://www.workathome.com/animals/3248234/course
http://www.workathome.com/animals/3248234/courses

반응형