한 달간의 프로젝트를 마치고, 멘토들에게 피드백을 받았다.
그 중 하나가 URI 설계에 대한 이야기였는데, 올바른 설계를 했는지 생각해보기로 했다.
행동
이 아닌 행위 주체
만을 주목해야 한다.REST는 Representational State Transfer의 약자이다. 자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것을 의미한다.
REST의 구성요소
자원(Resource): URI
행위(Verb): HTTP METHOD
표현(Representations)
따라서, REST는 URI를 통해 자원을 표시하고 HTTP METHOD를 이용하여 해당 자원의 행위를 정해주며 그 결과를 받는 것을 말한다.
출처 : https://ukcasso.tistory.com/63
/리소스(Collection)
/리소스(Collection)/고유ID(Document)
/리소스(Collection)/고유ID(Document) /하위리소스(Collection)
/리소스(Collection)/고유ID(Document) /하위리소스(Collection)/하위리소스고유ID(Document)
출처: https://eblo.tistory.com/44
발견한 문제점들
수정 과정
자원을 분류하고, 메서드별로 정리해서 URI를 정리했다. 이 과정에서 URI 네이밍 규칙이나 설계를 고려해 보려고 노력했다.
또한 리소스의 계층 관계를 URI에 표현하는 것이 좋다고 하여 원래는 기능별로 묶어 둔 URI를 자원의 계층구조를 중점으로 생각해서 다시 짜보았다.
수정 후
내용을 정리하고 생각해보니, front를 만들어 웹 서비스를 런칭하려는 것에만 급급 하다보니 REST API란 무엇인지, URI의 설계 및 규칙에는 무엇이 있는지 신경쓰지 못했다.
REST API에 대해 더 알아볼 수 있는 시간이었고, 백엔드 개발자 희망자로써 가져야 하는 자세에 대해 책을 보며 더 알아가 볼 예정이다.