본문 바로가기
Engineering/SW Design

[REST 설계] 패턴 예제

by 쿨쥰 2023. 5. 7.

REST 는 표준규약이 없으므로 기법을 정의하기 어렵다


 

이전 글 : 헤더 / 바디 디자인

2023.05.01 - [Engineering/SW Design] - [REST 설계] 헤더 / 바디 디자인

 

[REST 설계] 헤더 / 바디 디자인

HTTP 의 헤더를 통해 전달되는 여러 형태의 메타데이터 패턴 이전 글 : HTTP 메소드와 응답코드 2023.04.25 - [Engineering/SW Design] - [REST 설계] HTTP 메소드와 응답코드 [REST 설계] HTTP 메소드와 응답코드 HTTP

skidrow6122.tistory.com

 

 

주요 패턴 정리

REST는 표준 규약이 없으므로 관리하기 어렵다.

여러 안티패턴을 회피하고 올바른 패턴에 대한 가이드는 있으나, 실제 그것을 설계하는 사람 마음대로 구현될 수 도 있는 부분이므로 좋은 패턴을 ‘잘'정리해서 활용 하는 수 밖에 없다.

본 포스팅에서는 여러 좋은 패턴들에 대해 상세 설명보다는 actual 한 예제로 기록해두는 용도로서 계속 내용을 추가해 나가려고 한다.

 

URI 의 리소스명은 동사보다는 명사를 쓰고, 가급적 복수형 명사를 쓰자

  • HTTP POST /getCars
  • HTTP POST /setCarsOwner

이렇게 행위가 uri에 포함되면 최악이다.

아래와 같이 고쳐 쓰자.

  • HTTP GET /cars
  • HTTP POST /cars/{boxter}/owner/{coolJune}
    • 또는 request body 에 정보를 실어서 보내야 함

일반적으로 권고되는 디자인 패턴은 아래와 같다.

 

리소스 POST GET PUT DELETE
  create read update delete
/cars 새 cars를 등록 cars 목록 리턴 복수의 cars를 업데이트 모든 cars 삭제
/cars/{boxter} - boxter 라는 이름의 cars 정보 리턴 boxter 라는 이름의 cars 정보 업데이트 boxter 라는 이름의 cars 정보 삭제

 

댓글