본문 바로가기
728x90
반응형
SMALL

IT/JAVA45

ServletFilter 를 이용한 Download File 분석 요구사항 - 사용자가 Download 받는 File을 Copy 해서 별도 분석 모듈에게 전달해야 함 - 사용자는 File Download 를 받는데 달라지는 점이 없어야 함 - 사용자가 File Download 를 받는데 속도 저하가 없어야 함 ​ 구현방법 - HttpServletResponse 를 copy 한다. - filter chain에 copy한 response를 보내고 flulsh 한다. - finally 에서 copy 본을 이용하여 File 을 생성한다. HttpServletResponseCopier responseCopier = new HttpServletResponseCopier((HttpServletResponse) response); try { chain.doFilter(request,.. 2020. 9. 29.
Cannot deserialize value of type `java.time.LocalDateTime` from String.... `0000-00-00 00:00:00` 처리 방법 JodaTime을 제외하고 Java에서 정식으로 LocalDate, LocalDateTime 이 지원되면서 여러가지로 Date, Time 을 사용하는데 편해졌다. 그런데 기존 legacy project 에서는 DateTime 의 값을 String에 담고 있으며 format은 yyyy-MM-dd HH:mm:ss 이며 이 legacy 프로젝트로 부터 값을 가져와 parsing 해야 하는 상황이 발생했다. 이런 경우 아래와 같은 오류가 발생한다. org.springframework.core.codec.DecodingException: JSON decoding error: Cannot deserialize value of type `java.time.LocalDateTime` from String \"2017-.. 2020. 6. 11.
Java 13 특징 (feat. Java 10 특징) 프로그래밍 시 직접적인 영향이 있는 것들 위주로 정리 Java 10 Local-Variable Type Interface 알맞게 번역해 보면 `지역 변수 타입 추론` 정도가 되겠다. var 도입으로 dynamic type을 지원하는 것은 아니며 컴파일러가 알아서 타입을 추론해서 컴파일 해주는 것. // java 1.6 List list = new ArrayList(); // java 1.7 List list = new ArrayList(); // java 10 var list = new ArrayList(); var stream = list.stream(); 제약사항 null 안됨 local 변수가 아닌 경우 안됨 초기값 없으면 안됨 배열 안됨 method 인자값으로는 사용 불가 람다식에서 사용 불가 주.. 2019. 12. 20.
Gson Serialize 시 예외 시키기 (@Expose) 객체를 복사하는 방법은 여러 방법이 있다. Gson 을 이용하여 복사할 수도 있는데 이때 복사하고 싶지 않은 변수에 대해서는 @Expose 어노테이션을 사용한다. 그런데 정상적으로 동작하지 않아서 예외처리 하는 전략클래스를 만들어 사용 했더니.. 잘된다. /** * Gson serialize, deserialize 시 @Expose annotation 이 있는 Field 제외 전략 클래스 * @author yhkim * */ public class GsonSkipExposeAnnotationStrategy implements ExclusionStrategy { @Override public boolean shouldSkipField(FieldAttributes f) { return (null != f.g.. 2019. 11. 28.
728x90
반응형
LIST