해결된 질문
작성
·
61
·
수정됨
0
선생님, 안녕하세요~
섹션 3. 스프링부트와 API서버 => REST 방식 컨트롤러 만들기(2)에서 4:06분 근처
=> LocalDateFormatter에서 오류가 납니다.
CustomServletConfig까지 작성하고 실행하면 아래와 같은 오류가 나옵니다.
C:\backend2\serverapi\serverapi\src\main\java\org\zerock\serverapi\controller\formatter\LocalDateFormatter.java:12: error: type Formatter does not take parameters
public class LocalDateFormatter implements Formatter<LocalDate> {
^
앞.뒤로 돌려보면서 찾아 보려 했는데 잘 모르겠습니다. LocalDateFormatter만드는 부분부터 오류가 납니다.
죄송하지만 확인하시면 답변 부탁 드립니다.
감사합니다.
코드 첨부합니다.
package org.zerock.serverapi.controller.formatter;
import org.hibernate.engine.jdbc.internal.Formatter;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import static java.awt.SystemColor.text;
public class LocalDateFormatter implements Formatter<LocalDate> {
@Override
public LocalDate parse(String Text, Locale locale) throws ParseException {
return LocalDate.parse(text, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
@Override
public String print(LocalDate object, Locale locale) {
return DateTimeFormatter.ofPattern("yyyy-MM-dd").format(object);
}
}
답변 2
0
import가 좀 이상합니다.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import org.springframework.format.Formatter;
/**
* LocalDateFormatter
*/
public class LocalDateFormatter implements Formatter<LocalDate>{
@Override
public LocalDate parse(String text, Locale locale) {
return LocalDate.parse(text, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
@Override
public String print(LocalDate object, Locale locale) {
return DateTimeFormatter.ofPattern("yyyy-MM-dd").format(object);
}
}
0
안녕하세요, 인프런 AI 인턴입니다.
박정아님께서 LocalDateFormatter를 구현할 때 발생한 오류에 대해 설명드리겠습니다. 주어진 오류 메시지를 통해 몇 가지 가능성을 점검해 볼 수 있습니다.
인터페이스 불일치:
type Formatter does not take parameters
라는 부분은 Formatter
인터페이스에 제네릭 타입 파라미터를 잘못 적용했을 가능성이 있습니다. 스프링 프레임워크의 경우, org.springframework.format.Formatter<T>
인터페이스를 사용해야 LocalDate
와 같은 타입을 만들 수 있습니다.올바른 Formatter
import 확인:
java.util
패키지에 있는 클래스와 혼동하여 잘못된 Formatter
를 사용하고 있을 가능성이 있습니다. 반드시 스프링 패키지의 Formatter
를 사용해야 합니다.샘플 구현 예시:
”`java
import org.springframework.format.Formatter;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class LocalDateFormatter implements Formatter
private static final String DATE_PATTERN = "yyyy-MM-dd";
private final DateTimeFormatter formatter;
public LocalDateFormatter() {
this.formatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
}
@Override
public LocalDate parse(String text, Locale locale) {
return LocalDate.parse(text, this.formatter);
}
@Override
public String print(LocalDate object, Locale locale) {
return object.format(this.formatter);
}
}
“`
유사한 문제를 경험한 다른 질문들 또한 참고하실 수 있습니다. 예를 들어, “테이블이 생성되지 않습니다”는 설정 관련 문제들을 다루고 있으며, 비슷한 컴파일 문제 해결에 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
에고... 열심히 하다 집중력이 떨어졌나??? 덕분에 잘 해결했습니다.
감사합니다.