
로그인이 실패할때, auth/loginForm로 이동하는 것을 보고 failureUrl 설정

하지만 이래도 해결되지 않았고, 추가적 원인으로 userLoginFailHandler 설정이 덮어쓰고 있다고 생각되어 Handler를 수정

여기서 setDefaultFailureUrl을 수정
setDefaultFilureUrl("login?error=true & exception="+errorMessage)

올바른 url과 에러메세지가 출력되는걸 확인!
failureUrl()과 failureHandler()를 모두 지정한 경우, failureHandler()가 우선순위가 더 높다는걸 학습했다.
failureUrl()은 단순 리다이렉트 URL만 지정하고,
failureHandler()은 로그인 실패시, 다양한 로직을 커스텀하기 때문에 Spring Security에서는 failureHandler()을 우선시 처리한다!

무한 루프 발생먼저 출력하는 부분인 댓글 Entity의 toString()을 다시 한번 검토했다

해당 entity에서 post를 출력하게 되어있어 서로 무한 참조가 되는 원인을 발견하고 post를 제거했다

무한 루프에 빠지지 않고 잘 출력이 되는것을 확인했다!
난 아직 DTO를 제대로 학습하지 못해서 Entity에 직접 구현하는 방식으로 사용했다. 하지만 이렇게 되면 생기는 단점이 여러가지가 있다.
Single Responsibility Principle 위배ex) @RequestParam 등 특정 기술 스택에 종속되는 코드가 된다.{
"timestamp": "2024-06-11T14:41:14.361+00:00",
"status": 415,
"error": "Unsupported Media Type",
"path": "/post/1"
}
form-data 방식으로 댓글을 생성 요청할 시, 미디어 타입을 지원하지 않는 문제 발생


무사히 댓글 추가가 완료되는 것을 확인했다!
@ModelAttribute@RequestParamquery string 또는 폼 데이터 form data에서 특정한 파라미터 값을 추출해 반영함@RequestBodyJson 데이터를 자바 객체로 매핑할 때 사용form-data형식으로도 받고 싶다면, HttpMessageConverter를 추가 설정 해줘야함프로젝트 깃허브 : https://github.com/Hun425/4week_spring