본문 바로가기
TIL & WIL

[TIL] #99. 231221

by mmm- 2023. 12. 21.

어제 목표 & 오늘 완료한 한 일 

  • 알고리즘 문제
  • 자바 종합 문법 복습 (3주차)
  • 스프링 기초 개인과제 해설 강의
  • 스프링 심화 과제 (테스트 코드 작성)
  • JPA 심화 강의듣기
  • 플러스 주차 복습 과제
  • CS 공부 (운영체제)

 

내일 목표

  • 알고리즘 문제
  • 자바 종합 문법 복습 (3주차)
  • 스프링 기초 개인과제 해설 강의
  • 스프링 심화 과제 (테스트 코드 작성)
  • JPA 심화 강의듣기
  • 플러스 주차 복습 과제
  • CS 공부 (운영체제)

 

발생한 오류와 해결 방법

1️⃣. 게시물 조회는 로그인을 하지 않아도 보여지도록 구현을 했는데 토큰 오류가 발생했다. 이 전에 발생했던 오류와 같은 이유로 발생하는 에러인듯 했다. 그래서 해당 부분도 토큰 검증을 하지않고 다음 필터로 이동하도록 코드를 작성했다. 근데 그 전에 작성했던 코드와는 다른 점이 있었다. url.startsWith("/api/posts") 만 적어줄 경우 게시물 작성, 수정, 삭제 또한 로그인을 하지않아도 할 수 있다는 점이었다. 이러한 문제를 해결하기 위해 request에서 메서드를 가져와 해당 메서드가 GET이면서 /api/posts 로 시작할 때만 해당이 되도록 아래와 같이 코드를 작성해 문제를 해결할 수 있었다.

(request.getMethod().equals("GET") && url.startsWith("/api/posts")

 

 

느낀점

좋아요 추가, 취소 기능을 구현할 때 지금까지와 다르게 구현을 했다. 이전에는 하나의 api로 추가, 취소 기능을 모두 동작하게끔 구현했었는데 그렇게 하는 것이 좋은 방법일까 생각을 하게 되었다. 뭐가 더 올바른 방법인지는 모르겠으나 우선 이전과 다르게 해보자 싶어 이번에는 추가, 취소 기능을 나눠서 해봤다. 그런데 하다보니 하나의 api로 추가, 취소 기능을 하는 것이 더 RESTful한 api라고 할 수 있지 않을까? 하는 생각이 들었다. 나는 두 가지 모두 POST 방식으로 /like, /unlike 이렇게 url끝에 해당 기능을 나타내주었기 때문에 RESTful한 api라고 할 수 없다고 생각이 들었기 때문이다. 

'TIL & WIL' 카테고리의 다른 글

[TIL] #101. 231223  (0) 2023.12.23
[TIL] #100. 231222  (0) 2023.12.23
[TIL] #98. 231220 (Lazy Loading과 Proxy)  (1) 2023.12.20
[TIL] #97. 231219  (1) 2023.12.19
[WIL] #14. 231211 ~ 231217  (0) 2023.12.18