Replies: 2 comments 6 replies
-
제가 질문드린 부분에 대해서만 질문의 의도와 예상했던 API 명세를 말씀드리겠습니당
|
Beta Was this translation helpful? Give feedback.
6 replies
-
제가 남긴 의견은 다 답변이 된 것 같습니다!ㅎㅎ |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
@devhyun637
사실 이 부분에대해서 고민을 많이 했는데요, 어제 프론트의 상태관리 기법에 대해 여쭤본게그 이유였습니다.
먼저, 현재 제가 알고있는 프로트엔드의 스팩은 SPA를 적용하고 있으며 모든 컴포넌트에 대한 상태관리를 리덕스에서 진행하고 있다는 것 입니다. 따라서 서버로의 요청을 최소화 하고 프론트엔드에서 데이터의 상태가 최대한 관리되는 방향으로 개발이 진행된다고 생각했습니다.
가장 먼저 Report의 등록부분에 대해 설명을 드리자면, 어떤 리소스를 등록(POST)한 뒤에는 일반적으로 생성된 리소스를 사용자에게 보여주는 플로우가 발생한다고 생각합니다. 이때 생성된 리소스를 제공하는 방법에는 크게 2가지가 있다고 생각합니다.
제가 이해한 프론트의 스팩으로 보았을 떄 후자가 맞다고 생각하여 전체 Reposrt를 반환하도록 설계해 봤습니다. 만일 전자가 맞다면,
Locations
헤더에/reports/{reportsId}
를 담아 반환하도록 하겠습니다. 아니라면, 원하는 데이터 형식을 말씀해 주시면 반영하도록 하겠습니다(PUT도 동일하게 반영하겠습니다) :)위에서 설명한것과 동일한 이유로 이렇게 설계했었습니다! 의견 주시면 반영하겠습니다! :)
앗! 이부분은 설계 미스입니다.ㅜㅜ 없는 리소스에 대한 정보를 줄 수 없지요...
처음 생각했을때, 역량을 보여주는 부분과 그래프를 크게 묶으면 하나의 컴포넌트라고 생각해서 네이밍 한건데, 티케의 의견이 맞는 것 같습니다.
다만 현재 전송하는 데이터가 report라는 리소스의 메타데이터라는 사실이 URI에
/reports
로 명시되어 있다고 생각합니다. 이 점에서 바라보았을 때 네이밍에 report가 붙는것은 의미의 중복이라고 생각하는데요. (백엔드의 기준에서 봤을때 report.getReporrtAbilities() 와 같은 형식으로 데이터를 불러오게 됩니다.) 이러한 네이밍은 사실 객체지향적 관점에서 봤을때 그리 좋은 네이밍은 아니라고 생각합니다(조영호, 에고르). 또한 각 역량을 나타내는 object의 경우, 식별자의 네이밍을 변경할 경우 해당 Entity에 대한 참조 및 비교가 기술적으론 가능하나 의미론적으로 이상해 진다고 생각하여 id라는 네이밍을 그대로 가지고 가고 싶은데 어떻게 생각하시는지 궁금합니다 :)이에 대한 저의 의견도 동일합니다 :) 해당 데이터가 어느 리소스의 데이터인지는 URI에 명시되어 있기 때문에(https://restfulapi.net/#Resource) report를 다시한번 명시하지 않아도 된다고 생각합니다. 프론트를 잘 모르기때문에 확실한 답변이 될 수 있을 지 모르겠지만 예시코드를 간단히 작성해 보자면
위와같은 식으로, 코드상에서 변수명을 통해, 그리고 URI를 통해 그 의미가 충분히 전달된다고 생각하는데 이에 대한 티케의 의견도 들어보고싶네요!
Discussion
Beta Was this translation helpful? Give feedback.
All reactions