관리 메뉴

너와 나의 스토리

URL Design 본문

개발/Spring Boot

URL Design

노는게제일좋아! 2020. 7. 25. 11:19
반응형

이상적인 RUL: 짧고, 기술적이고, 효율적

URL design: the technical basics

1. 단어를 hyphen으로 구분하기

eg. example.com/tennisequipment-> example.com/tennis-equipment

underscores( _ ) 사용하지 않기!

 

2. URLs 안에 데이터 사용하는 것 고려하기

eg. http://www.news.com/2015/08/17/news-article

-> 해당 게시물에 날짜 스탬프를 업데이트하면, url도 변경되고, 이전 url이 새로운 url로 리다이렉션 되는지 확인해야 함.

 

3. 소문자로 작성하기

 

4. 절대 CRUD 함수 이름을 URL에 사용하면 안 된다.

  • GET "/devices/{id}"   
  • DELETE "/devices/{id}"
  • 이런 식으로 http method를 사용해서 구분하면 된다.

 

5. 리소스명은 동사보다는 명사를 사용

 

6. HTTP Method

  • POST: create
  • GET: read
  • PUT: 전체 update
    • 만약 일부 field가 생략되어 입력이 들어오면, 생략된 field는 null 처리되므로 주의!
  • PATFCH: 일부 update
  • DELETE: delete

 

Update와 Insert가 동시에 일어난다면??

-> upsert operation 발생

- 데이터가 추가된 경우 -> 201(create) Status code 리턴

- 데이터가 수정된 경우 -> 200(ok) or 204(noo content) Status code 리턴

- 이렇게 알리고, PUT을 upstream 연산에 사용한다.

 

"자원은 singleton 이거나 collection이다"
  • "/customers" -> collection
  • "/customer" -> singleton resource
    • "/customers/{customerId}"같은 느낌으로 사용
    • eg. "/customers/{customerId}/accounts", 

 

 

 

 

 

출처:

- https://stackoverflow.com/questions/18470588/in-rest-is-post-or-put-best-suited-for-upsert-operation

- https://restfulapi.net/resource-naming/

- https://www.deepcrawl.com/blog/best-practice/guide-to-url-design/

반응형
Comments