본문으로 바로가기

REST API 설계 원칙

category Django, Flask/🔫 Django REST framework (DRF) 2020. 6. 16. 15:30

이미 구성해본 경험이 있지만, 이번에는 아예 REST 를 만드는 프레임워크를 사용할 것이니 최종적으로 정리하자.

 

(https://darrengwon.tistory.com/135)

(https://darrengwon.tistory.com/312)

 

🚀 동사사용 금지.

 

/get_user, /deleteMovie => 좋지 않다.


🚀 복수 명사 활용

 

/user 는 /users로

🚀 폴더를 관리하는 것처럼 url 설계

 

/collections/elements1/elements2 + HTTP method

🚀 ? 활용하기


/movies/now_showing과 같이 바리에이션을 표현하기 위해 url을 파는 건 좋지 않다.  ?를 활용하자

/movies?status=now_showing
/movies?status=coming_soon

🚀 version


rest api를 업데이트 했다고 해보자.
버전은 최 상단에 위치하는 것이 좋다.

/v1/movies


🚀 paging (limit/offset)


데이터가 많으면 자연스레 페이징을 구현해야 한다.
/v1/movies?limit=25&offset=100

🚀 fields

 

결과물에서 특정 필드만 보고 싶다면...

/movies/the-godfather?fields=id,title

 

🚀 http message

 

2xx : OK

 

200 성공적으로 가져옴 GET
201 성공적으로 추가함 POST
204 성공적으로 지워졌음 DELETE

 

4xx : you mess up


400 요청이 잘못됨. 쿼리에 문자열을 줬다던가, 안 줬던가(undefined)

404 잘못된 페이지. 없는 정보를 찾은 경우
409 중복(Conflict)입니다. POST

 

5xx : My faults

 

500 서버 에러


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체