개발 기록
Not annotated parameter overrides @NonNullApi parameter 본문
jwt 검증 필터를 구현하던 중에 저렇게 노란 줄이 떴다.
오버라이딩 메서드가 애너테이션으로 명시되지 않은 경우
슈퍼클래스의 메서드에 @NotNull 또는 @Nullable 애너테이션이 지정되어 있는데,
이를 서브클래스의 오버라이딩 메서드에서 반복하지 않으면 발생하는 문제
OncePerRequestFilter와 @NonNullApi
Spring Web에서 OncePerRequestFilter는 org.springframework.web.filter 패키지에 위치.
이 패키지에는 @NonNullApi가 패키지 수준에서 적용되어 있었다. 그래서 서브 클래스에도 적용시키라는 뜻이였다.
// org.springframework.web.filter.package-info
@NonNullApi
@NonNullFields
package org.springframework.web.filter;
import org.springframework.lang.NonNullApi;
import org.springframework.lang.NonNullFields;
패키지 수준에 어노테이션을 적용시키기 위해서는 해당 패키지 내에 package-info.java 를 생성하면 된다.
@NonNullApi
package com.practice.filter;
import org.springframework.lang.NonNullApi;
출처
https://stackoverflow.com/questions/72285740/not-annotated-parameter-overrides-nonnullapi-parameter
https://yeongunheo.tistory.com/entry/package-infojava%EB%9E%80
'TIL' 카테고리의 다른 글
One or more listeners failed to start. (1) | 2024.03.15 |
---|---|
docker 컨테이너 ip 확인 (0) | 2024.03.15 |
quartz job parameters processor에서 사용 (0) | 2024.02.22 |
mongoDB object 검색 (0) | 2024.02.14 |
Cannot change the ExecutorType when there is an existing transaction (0) | 2024.02.13 |
Comments