본문 바로가기

Programming/기초지식

[REST] URI 네이밍 가이드

반응형

REST API에서는 URI를 통해 리소스를 표현합니다. 작성한 URI를 가지고 필요한 Resource를 호출합니다.

 

동사 대신 명사를 사용합니다.

그 이유는 명사를 사용하면 리소스의 속성을 표현할 수 있기 때문입니다.

 

http://localhost:8080/member/getUser
http://localhost:8080/member/deleteUser

 

계층 관계를 표현하려면 슬래시(/) 기호를 합니다.

 

http://localhost:8080/member/id
http://localhost:8080/member/info

 

URI 주소 마지막에 슬래시(/) 기호를 사용하면 안됩니다.

 

http://localhost:8080/member/id/
http://localhost:8080/member/info/

 

길이가 긴 단어는 하이픈(-) 기호를 사용해서 가독성을 높입니다.

 

http://localhost:8080/member/added-products

 

언더스코어(_) 기호의 사용을 지양합니다.

몇몇 브라우저에서 언더스코어 기호를 제대로 인식하지 못하는 현상이 있다고 합니다.

http://localhost:8080/member/added_products

 

소문자를 사용해서 표현합니다.

 

// GOOD
http://localhost:8080/member/added-products 
// BAD
http://localhost:8080/member/ADDED-PRODUCTS

 

파일 확장자를 붙이지 않습니다.

 

굳이 확장자를 붙여서 표현해야 할 이유가 없습니다.

http://localhost:8080/member/added-products.txt

 

CRUD기능이 연상되는 이름을 URI 주소로 사용하지 않습니다.

 

URI 주소는 자원(Resource)의 표현에 충실해야 합니다.

CREATE, READ, UPDATE, DELETE와 같은 CRUD 기능의 이름이 URI 주소 표현에 녹아들지 않도록 작성해야 합니다. 동일한 URI 주소를 사용했을 때는 HTTP 요청 메소드를 통해 CRUD 기능별로 구분해서 작업해야 합니다.

 

// 회원가입(POST)
http://localhost:8080/member/user

// 모든 회원 정보(GET)
http://localhost:8080/member/user

// 특정 회원 정보(GET)
http://localhost:8080/member/user/{id}

 

참고

  • https://restfulapi.net/resource-naming/
  • https://sabarada.tistory.com/28?category=800100
반응형

'Programming > 기초지식' 카테고리의 다른 글

[Ajax] jQuery로 Ajax 구현 시 사용되는 설정값 모음  (0) 2022.02.18
[Ajax] JavaScript로 Ajax 구현  (0) 2022.02.17
[REST] 리소스  (0) 2022.02.17
컴파일 타임과 런타임  (0) 2022.01.31
MIME type  (0) 2022.01.11