에러 혼내주기/Spring 3

[Spring] @ResponseBody사용시 DTO에서 is라는 글자가 사라지는 에러 해결 방법

RestController에서 @ResponseBody로 DTO에 바로 맵핑시킬때 json의 body에서 boolean 타입의 is~~~ 에서 is가 사라짐으로 인해서 계속 테스트가 실패하였다. 위의 사진과 같이 Dto가 HttpMessageConverter를 통해 변환될 경우 이름이 그대로 나오길 바랬지만 is가 생략이 되어 나왔다 일반적인 해결방법으로는 @JsonProperty("{json에서 보였으면 하는 이름}") 을 사용하여 해결하는 방법이 있는데 위 사진과 같이 shown은 그냥 존재하고 내가 설정한 이름은 또 따로 추가가 되었다. 그리하여 최종적으로 해결방법을 찾은 것은 Wrapper 타입의 boolean을 사용하는 것이다. JsonMessageConverter가 어떠한 연유인지는 모르겠지만..

[Spring] JPA entity 설정시 SQL Error: 1064, SQLState: 42000 에러

JPA에서 entity mapping을 하다 보니 아주 간단한 엔티티임에도 불구하고 save()가 지속적으로 실패하여 확인해본 결과 Mysql에서 order 라고 하는 예약어가 존재하여 아래와 같은 에러 메세지를 뿜어냈다. 그러므로 해결 방법은 백틱(₩ -역 작은 따옴표)을 활용하여 이름을 변경하는 것이다 참고 : DB별 예약어 정리가 잘 되어있는 블로그 https://yjh5369.tistory.com/entry/Spring-boot-JPA%EC%97%90%EC%84%9C-DB-%EC%98%88%EC%95%BD%EC%96%B4%EB%A5%BC-column%EC%9C%BC%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

[Spring] Spring security + @WebMvcTest 403에러 발생

RestController를 테스트 하고자 @WebMvcTest 어노테이션을 사용하여 테스트를 진행하고자 하였다. (@WebMvcTest는 @SpringBootTest 보다 ComponentScan 하는 범위가 좁아 더 가볍다고 한다) 그러나 로직에는 문제가 없어 보였는데 지속적으로 HTTP Status code 중 403(Forbidden) 오류가 지속적으로 떴다. Spring Security 프로젝트를 의존성 추가를 하여 사용하고 있음을 깨닫고 csrf 필터를 확인해보았지만 disable() 해놓았기 때문에 문제가 될 것이 없을 것이라 생각했다. 그리하여 열심히 구글링 중 "뷰티플 프로그래밍" 이라는 블로그(아래 링크 참고)에서 해당 문제를 동일하게 겪고 난 후의 해결 방법을 공유해주셨다. mockM..