개발 기록

Not annotated parameter overrides @NonNullApi parameter 본문

TIL

Not annotated parameter overrides @NonNullApi parameter

수염차 2024. 12. 12. 09:49

 

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

 

Not annotated parameter overrides @NonNullApi parameter

I've been looking around other questions and I still don't understand what's going on here. I have this class: package com.test.service.database.converter; import com.test.service.database.dao.

stackoverflow.com

https://yeongunheo.tistory.com/entry/package-infojava%EB%9E%80

 

package-info.java란

서론 팀 내 코드리뷰를 하다 패키지에 package-info.java 파일이 존재한다는 사실을 알게 되었습니다. package-info.java가 무엇인지 잘 몰랐기에 이번 기회에 알아보고자 합니다. package-info.java란 package-inf

yeongunheo.tistory.com

 

Comments