스케쥴러관련 스프링 설정
@Scheduled(cron = "0 0 1 * * *") public void updatePrice()
=> Scheduler 클래스내 업데이트 메서드위에 선언
=> (cron = "0 0 1 * * *") // 초, 분, 시, 일, 월, 주 순서로, 1시간 마다 업데이트
@EnableScheduling // 스프링 부트에서 스케줄러가 작동하도록 application 파일 클래스에 선언
TroubleShoot
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: com.sparta.springcore.Product["createdAt"])
http://localhost:8080/api/products
post로 전송시 위와 같은 오류가 났고
해결은 다음과 같이 했다.
1.서블릿 파일이 다음과 같이 생겼는데 objectMapper.registerModule(new JavaTimeModule()); 를 추가해줌
<변경전>
// 자바 객체 -> JSON 으로 변환
ObjectMapper objectMapper = new ObjectMapper();
String productJson = objectMapper.writeValueAsString(product);
<변경후>
// 자바 객체 -> JSON 으로 변환
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
String productJson = objectMapper.writeValueAsString(product);
2) build.gradle의 dependancy에 내용 추가 (계속jsr 310 을 add 하라고 메시지가 출력됐는데, 블로그들에서 여기에 추가하라는 말 없이 그냥 이거 추가하라고만 해서... 당황스러웠음. 근데 maven의 dependancy에 누가 추가한것 보고 여기에 추가해봄)
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
implementation 'com.fasterxml.jackson.core:jackson-databind'
3) jsonSeriallize, Deserialize 어노테이션 추가 => 이걸 함으로써 최종 문제 해결
public abstract class Timestamped {
@CreatedDate // 최초 생성 시점
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime createdAt;
@LastModifiedDate // 마지막 변경 시점
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime modifiedAt;
}
TIL
오늘 수료생분이 방문했는데,
어떤식으로 프로젝트를 진행했는지,
면접 경험은 어땠는지를 말해주셔서 많은 도움이 되었다.
비전공자는 협업 경험으로 뽑는다고...하고
생각보다 면접에서 깊게 물어보는 경우가 많다고 했다. -> 학습 내용에서 한 걸음씩 더, 반복해서, 깊게 공부하는게 필요하다고 함.
한 번 쯤 비전공자도 와줘도 좋을듯
github.com/hyeyoungs/TDP
'TIL WIL' 카테고리의 다른 글
20220609 TIL (0) | 2022.06.09 |
---|---|
20220609 TIL (0) | 2022.06.09 |
WIL 7th (0) | 2022.06.08 |
20220603 TIL (0) | 2022.06.07 |
20220602 TIL (0) | 2022.06.02 |