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 [튜나 개발일기????]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
» [MSA] [REST API] URL 규칙, RESTful한 URL이란? file 졸리운_곰 2021.03.14 376
422 [MSA] API Gateway 란! 그리고 왜 중요한가? file 졸리운_곰 2021.03.12 456
421 Building a real-time prediction pipeline using Spark Structured Streaming and Microservices file 졸리운_곰 2021.02.21 341
420 Use of microservices in Real time Data Streaming for Spark Streaming or Apache Flink file 졸리운_곰 2021.02.21 507
419 Design Techniques for Building Streaming Data, Cloud-Native Applications: Part 2 - Akka Streams, Kafka Streams, and Friends file 졸리운_곰 2021.02.21 439
418 Design Techniques for Building Streaming Data, Cloud-Native Applications: Part 1 - Spark, Flink, and Friends file 졸리운_곰 2021.02.21 373
417 Microservices 주요 패턴 정리 file 졸리운_곰 2021.02.21 380
416 A pattern language for microservices file 졸리운_곰 2021.02.21 560
415 마이크로서비스 패턴 file 졸리운_곰 2021.02.21 391
414 [디자인패턴] Design Patterns for Microservices 졸리운_곰 2021.02.21 383
413 마이크로서비스 디자인 패턴 file 졸리운_곰 2021.02.21 718
412 [MSA] 마이크로서비스 디자인 패턴 file 졸리운_곰 2021.02.21 458
411 [HTML] HTML로 간단한 웹페이지 만들기 file 졸리운_곰 2021.02.13 641
410 무료 반응형웹 템플릿 사이트 모음 file 졸리운_곰 2021.02.13 548
409 [javascript, 자바스크립트] 자동 실행 함수 (window.onload, $(document).ready()) 졸리운_곰 2021.02.13 449
408 워드프레스에서 wpdb를 사용한 CRUD 작업 예 졸리운_곰 2021.01.12 459
407 워드프레스 – CRUD file 졸리운_곰 2021.01.02 501
406 웹사이트 디자인하는 방법 file 졸리운_곰 2020.12.30 406
405 카드형 디자인/갤러리/리스트 코딩하기. file 졸리운_곰 2020.12.04 677
404 배민찬은 Vue를 어떻게 사용하나요? file 졸리운_곰 2020.12.02 354
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED