Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

공감 요청 경로 수정하기 #215

Closed
3 tasks done
chomily opened this issue Oct 5, 2020 · 3 comments · Fixed by #222
Closed
3 tasks done

공감 요청 경로 수정하기 #215

chomily opened this issue Oct 5, 2020 · 3 comments · Fixed by #222
Assignees
Labels
⭐⭐ 중요도 2 스프린트11 스프린트 11 💻개발공통 개발 공통 이슈

Comments

@chomily
Copy link
Collaborator

chomily commented Oct 5, 2020

목적

공감 기능 요청 경로를 더 RESTful한 방식으로 수정한다.
또한 스프링 시큐리티를 이용한 인증, 인가를 구현할 당시, 인수테스트를 @Diabled 시켰던 이력으로 인해 빠져있던 공감 인수 테스트를 추가한다.

체크리스트

  • 백엔드 공감 기능 요청 경로 수정
  • 테스트 코드 요청 경로 수정
  • 프론트엔드에서 공감 API 요청하는 부분 경로 수정

주의 사항

관련 이슈

일정

@chomily chomily added ⭐⭐ 중요도 2 💻백엔드 백엔드 관련 이슈 스프린트11 스프린트 11 labels Oct 5, 2020
@chomily chomily self-assigned this Oct 5, 2020
@chomily chomily added 💻개발공통 개발 공통 이슈 and removed 💻백엔드 백엔드 관련 이슈 labels Oct 6, 2020
@chomily
Copy link
Collaborator Author

chomily commented Oct 6, 2020

RESTful URL

REST에 대해 학습하면서 공감 요청의 URL이 아래와 같은 이유로 잘못 설계되었다고 판단했습니다.

1. URI는 자원의 계층 구조를 일관성 있게 드러내야한다.
2. URI의 제일 하위 리소스가 요청하는 작업하는 대상으로 생각된다.
예시) /customers/1/orders 고객1의 주문 정보에 대한 요청

기존 다른 API의 계층 구조와 일관성 있고, likes가 추가되고 삭제되는 요청이 드러나도록 아래와 같이 수정했습니다.

수정한 공감 URL

  • POST /api/articles/{articleId}/likes
  • DELETE /api/articles/{articleId}/likes
  • POST /api/articles/{articleId}/comments/{commentId}/likes
  • DELETE /api/articles/{articleId}/comments/{commentId}/likes

기존의 공감 URL

  • POST /api/likes/article/{articleId}
  • DELETE /api/likes/article/{articleId}
  • POST /api/likes/comment/{commentId}
  • DELETE /api/likes/comment/{commentId}

참고 자료

https://restfulapi.net/resource-naming/
https://restfulapi.net/rest-api-design-tutorial-with-example/

@chomily
Copy link
Collaborator Author

chomily commented Oct 6, 2020

공감 기능을 구현할 당시에 스프링 시큐리티로 인해 모든 인수테스트를 Disabled 해놓은 상태였는데요~
이번에 작업하면서 빠져있던 인수 테스트를 추가했습니다.

@chomily chomily changed the title 공감 기능 요청 경로 수정하기 공감 요청 경로 수정하기 Oct 6, 2020
@chomily
Copy link
Collaborator Author

chomily commented Oct 6, 2020

현재 프론트엔드에서 공감수 데이터를 (상태 관리 툴을 통하지 않고) 직접 수정하고 있습니다.
article은 뷰엑스로 상태 관리하고 comment는 그렇지 않기 때문에 공감 로직의 통일성을 위해서 현재와 같이 구현했었습니다.
추후 comment에 뷰엑스가 적용되면 리팩토링하기로 주석이 남아있는데요~
이번에 comment에 뷰엑스를 적용하고, 공감 로직을 리팩토링하는 작업을 이어서 해볼게요~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⭐⭐ 중요도 2 스프린트11 스프린트 11 💻개발공통 개발 공통 이슈
Projects
None yet
1 participant