[API] URI 규칙

공수정·2021년 12월 13일
3

API

목록 보기
1/3
post-custom-banner

1. URI과 URL, URN이란?

1. URI

네트워크 상 자원을 가리키는 일종의 고유 식별자(ID)

2. URL

URI 에 포함되는 개념, 자원의 위치

3. URN

URI 에 포함되는 개념, 자원의 이름

2. REST API 설계시 중요한 항목

  • URI는 정보의 자원을 표현
  • 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현

3. REST API URI 규칙

1. 소문자를 사용

대문자는 때로 문제를 일으키는 경우가 있기 때문에 URI를 작성할 때는 소문자를 선호

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

URI가 사람들에게 더 쉽게 읽힐 수 있게 하기 위해서 긴 Path를 표현하는 단어는 하이픈으로 구분, 이때 프로그램의 글자 폰트에 따라서 언더바 문자( _ )는 이러한 밑줄처리에 의해 문자가 부분적으로 가려지거나 완전히 숨겨질 혼란을 피하기위해 언더바 문자보다는 하이픈 문자를 사용

3. 마지막에 슬래시를 불포함

후행 슬래쉬는 의미가 전혀 없을 뿐아니라 혼란을 야기

4. 행위는 불포함

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

5. 파일 확장자는 불포함

REST API에서는 메시지 바디 내용의 포맷을 나타내기 위한 파일 확장자를 URI 안에 포함하지 않고, Content-Type이라는 헤더를 통해 전달되는대로 미디어 타입을 사용해 body 콘텐츠 처리

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

7. 계층관계를 나타낼 때 슬래시 구분자를 사용

슬래시문자는 URI의 경로 부분에서 자원 간의 계층적 관계를 나타내기 위해서 사용

http://board.com/board/52 -> 게시판의 52번글

8. 복수형 VS 단수형

URI의 형식을 복수형으로 사용하는 것이 실무에서 많이 사용
대부분의 최신 프레임워크가 /students(복수형) 및 /students/232324(복수형 중 특정하기) 형태로 처리됨

http://api.college.com/students/3248234/courses
ID가 3248234인 학생이 학습한 모든 과정 목록 검색 http://api.college.com/students/3248234/courses/physics
ID가 3248234인 학생을 위한 과정 물리학을 검색한다.

참조
1. [REST API] URL 규칙, RESTful한 URL이란?
2. [번역글] REST API URI를 결정하는 7가지 규칙
3. [개발자 아저씨들 힘을모아][네트워크📶] URI 란 ? / URI VS URL VS URN 차이 /

profile
계속해서 공부하는 개발자입니다 :)
post-custom-banner

0개의 댓글