에러해결 & 최적화/Spring

[해결]JPA 사용 시 DB 에 들어가는 시간과 실제 시간이 안맞는 경우 가끔 JPA 를 사용하다 보면 @createdAt 이나 @updatedAt 과 같이 자동으로 타임스탬프를 찍어주는 기능을 사용하는데 이 때 찍혀들어가는 시간과 실제 시간이 안 맞는 경우가 있다. 이런 문제의 원인은 JVM 내의 TimeZone 설정이 안맞아서 그런 경우가 많다. 필자가 이럴 때 해결한 방법중 몇 가지를 소개하고자 한다. 방법 1. URL parameter로 Timezone 설정 MySQL은 기본적으로 useLegacyDatetimeCode=true를 사용한다. Timezone을 변경하려면 이 옵션을 false로 변경하고 serverTimezone 옵션도 추가한다. 아래와 같이 application.properties..
Spring Security에서 권한별로 접근할 수 있는 url 을 다르게 주고 싶었다 (최고관리자를 ADMIN, 중간관리자를 SUB_ADMIN 이라고 하자) 처음에 아래와 같이 적고 테스트를 해보았다. http.authorizeRequests() .... .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/admin/sub/**").hasRole("SUB_ADMIN") 그런데 위와같이 적으니까 ADMIN은 되는데 SUB_ADMIN 은 계속 404 뜨고있었다. 이것저것 해보다가 아래와 같이 서로 순서를 바꿔서 해보았다. http.authorizeRequests() ... .antMatchers("/admin/sub/**").hasRole("SUB_ADM..
작업을 하다 Post 로 전송한 QueryString 이 인식이 안되는 상황이 발생하였다. 문제 상황은 /member?phone=12345 이렇게 보내고 Spring 에서 받을 때 아래와 같이 작업한 상황이였다. @PostMapping("/member") public String registerMember(@RequestParam String phone) { // 작업... return "/admin"; } 그런데 여기서 RequestParam에 데이터를 인식을 못하고 있어서 한참동안 삽질한 결과 Get이 아닌 방식으로 RequestParam을 보낼 때는 Get 처럼 url 뒤에 QueryString 을 붙이는 것이 아니라 Body에 QueryString을 넣고 ContentType을 applicatio..
Chung-A
'에러해결 & 최적화/Spring' 카테고리의 글 목록