본문 바로가기
Framework/SpringBoot

[Java / Trouble Shooting] Not annotated parameter overrides @NonNullApi parameter

by newtownboy 2024. 4. 9.


[Version]
⦁ 2024.04.09 / [Java / Trouble Shooting] Not annotated parameter overrides @NonNullApi parameter
 

Not annotated parameter overrides @NonNullApi parameter

웹 소켓을 구현하는 과정에서,  TextWebSocketHandler를 상속받아 세 개의 메서드를 오버라이드 하였다.

@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
    // WebSocket 연결이 성립되면 호출되는 메서드
}

위 코드에서 파라미터의 값인 session에 위 오류가 발생했는데, 이는 부모 클래스에서 해당 파라미터의 값이 @Nonnull이기 때문에 자식 클래스에서도 동일하게 처리해 주어야 된다는 알람 메시지이다.

@Override
public void afterConnectionEstablished(@Nonnull WebSocketSession session) throws Exception {
    // WebSocket 연결이 성립되면 호출되는 메서드
}

따라서 다음과 같이 파라미터 앞에 @Nonnull을 붙여 오류를 해결할 수 있었다.