본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/JAVA

[REST] REST API 소개, URI 명명규칙 정리

by 미노드 2023. 4. 21.

REST API란?

REST(Representational State Transfer)는 HTTP 네트워크 상의 리소스(Resource, 자원)를 정의하고
해당 리소스를 URI라는 고유한 주소로 접근하는 접근 방식을 의미하며,
REST 방식을 통해서 리소스에 접근하기 위한 서비스 API를 지칭합니다.

REST에서 의미하는 리소스란?

REST에서 의미하는 자원은 데이터베이스에 저장된 데이터, 문서, 이미지, 동영상 등
HTTP 통신을 통해 주고 받을 수 있는 모든 것을 의미합니다.

URI(Uniform Resource Identifier)와 URL(Uniform Resource Locator)

URI는 네트워크 상에 있는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미합니다.
URL은 인터넷에 있는 리소스를 나타내는 통합 리소스 식별자를 의미하며,
우리가 흔히들 이야기하는 웹 상의 주소를 의미합니다.

URI는 URL의 상위 개념으로 볼 수 있습니다.
URI는 리소스를 식별하는 식별자 역할을 하고, URL은 리소스의 위치를 가리킵니다. 

예) http://teck10.tistory.com/post/232?id=1

위 예에서 'http://teck10.tistory.com/post/232'까지는 리소스의 위치를 가리키는 URL이라고 할 수 있고, 'http://teck10.tistory.com/post/232?id=1'는 리소스를 식별하기 위한 'id=1'이라는 고유 식별자 붙었으므로 URI라고 할 수 있습니다.

URI 명명규칙 정리

작업하면서 공통적으로 지켜야 할 uri 규칙을 알아둘 필요가 있을 것 같습니다.
혼자서 연습하다 이런거 빼먹기 상당히 쉬운데, 현업가서 이런거모르면 욕먹기 쉽더라구요.

1. 대문자보단 소문자를 사용
대문자는 때로 문제를 일으키는 경우가 있기 때문에 URI를 작성할 때는 소문자를 선호합니다.
- http://teck10.tistory.com/post/messages/java

2. 언더바(_) 대신 하이픈(-)을 사용
가독성을 위해 긴 Path를 표현하는 단어는 하이픈(-)으로 구분하는 것이 좋습니다.
- http://teck10.tistory.com/post/messages/active-mq-client 

 

3. 마지막에 슬래시(/)를 포함시키지 않음
제일 마지막 슬래시(/) 넣고 개발 할하면 혼란을 야기할 수 있습니다.
명확한 URI를 위해 마지막 슬래시는 포함시키지 않습니다.
- http://teck10.tistory.com/post/messages/java 

 

4. 동사보단 명사를 사용
give cook like 같은 동사보단
test pride habit room 같은 명사를 사용하는게 좋습니다.
* 컨트롤 자원을 의미하는 경우 예외적으로 동사를 사용합니다.(read write send 등)
- http://teck10.tistory.com/post/messages/habit

 

5. 파일 확장자는 URL에 포함시키지 않음
확장자를 쓰지 않는 URL로 개발하는게 좋습니다.
확장자 정보를 보내려면 Accept 요청 헤더에 포함시키거나 별도 헤더/바디에 추가하는게 좋습니다.
- http://google.com/log?format=json&hasfast=true&authuser=0

 

더 상세한 설명은 다음 포스팅에서 추가했습니다.

https://teck10.tistory.com/458

 

REST API 규칙, API란 무엇인가요?

API란 무엇인가요? 애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로

onpups.pe.kr