REST API URL 규칙, RESTful한 URL이란?

 

 

REST API 설계시 가장 중요한 항목은 아래 두가지이다.

1️⃣ URI는 정보의 자원을 표현해야 한다는 점
2️⃣ 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다는 점

 

두 가지를 기억하며, 좀 더 RESTful한 URL을 설계해보자!(REST API에 대해 더 알아보려면? ???? 클릭  )

 

 

1. 소문자를 사용한다. 

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

 

Bad

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

Good

http://restapi.example.com/users/post-comments

 

2. 언더바를 대신 하이픈을 사용한다.

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

 

Bad

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

Good

http://restapi.example.com/users/post-comments

 

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

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

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

Bad

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

Good

http://restapi.example.com/users

 

4. 행위는 포함하지 않는다.

행위는 URL대신 Method를 사용하여 전달한다.(GET, POST, PUT, DELETE 등)

 

Bad

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

Good

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

 

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

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

 

Bad

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

Good

GET http://restapi.example.com/users/photo

HTTP/1.1 Host: restapi.example.com Accept: image/jpg

 

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

 

Bad

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

Good

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

 



출처: https://devuna.tistory.com/79 [튜나 개발일기????]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
194 [JavaScript] How to Write a Simple Interpreter in JavaScript file 졸리운_곰 2021.04.13 519
193 [HTML] HTML로 간단한 웹페이지 만들기 file 졸리운_곰 2021.02.13 642
192 무료 반응형웹 템플릿 사이트 모음 file 졸리운_곰 2021.02.13 548
191 [javascript, 자바스크립트] 자동 실행 함수 (window.onload, $(document).ready()) 졸리운_곰 2021.02.13 449
190 배민찬은 Vue를 어떻게 사용하나요? file 졸리운_곰 2020.12.02 354
189 [속깊은 자바스크립트 강좌] 자바스크립트의 Scope와 Closure 기초 file 졸리운_곰 2020.09.16 447
188 [Javascript] with 명령에 대하여 졸리운_곰 2020.09.16 459
187 Webpack 완전정복하기!! file 졸리운_곰 2020.07.20 727
186 [javascript] 압축(Minify) / 난독화(Uglify) 졸리운_곰 2020.07.01 293
185 HTML div 왼쪽, 오른쪽 배치 졸리운_곰 2020.06.02 471
184 [html] iframe을 사용하지 말아야 할 이유. (단점) 졸리운_곰 2020.05.10 568
183 자바스크립트 자료구조 연결 리스트(Linked List) file 졸리운_곰 2020.03.30 325
182 Javascript) innerText vs innerHTML 졸리운_곰 2020.03.13 425
181 InnerHTML 사용시 알 수 없는 런타임 오류 졸리운_곰 2020.03.13 505
180 How to Create an addChild() Function in JavaScript file 졸리운_곰 2020.03.09 438
179 JavaScript post request like a form submit 졸리운_곰 2020.03.09 474
178 [pure javascript] Vanilla JS equivalents of jQuery methods 졸리운_곰 2020.03.09 375
177 [Javascript] innerHTML 의 함정 졸리운_곰 2020.03.08 374
176 jQuery append() in Pure Javascript 졸리운_곰 2020.03.08 313
175 HTML 테이블 표 가로 및 세로 합치기 (td tr 병합 방법) file 졸리운_곰 2020.02.27 486
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED