기록이 힘이다.

백엔드와 협업 중 NullPointerException 발견 - Vue 초기값 설정 본문

Vue

백엔드와 협업 중 NullPointerException 발견 - Vue 초기값 설정

dev22 2024. 3. 5. 12:30
728x90

화면에서 등록을 할 때, seq 값이 없으면 백엔드에서 만들어 주는 소스가 있다. 

없는 값이 넘어가는 건데..... NullPointerException이 떴다 

https://devfunny.tistory.com/360

 

자바 List의 null 체크 (with isEmpty())

상황 TestDto testDto = testList.get(0); 자바 List의 0번째 데이터를 set 해줘야하는 코드를 만났다. testList에는 어떤 데이터가 들어있는지 모른다. (null 일수도있고, 몇개의 row가 들어가있을 수 있다.) 위 te

devfunny.tistory.com

화면에서 넘겨주는 값을 변경하여 백엔드 문제를 해결하였다. 

사람마다 코드 스탈이 다른데 이번에 처음 vue.js3를 적용하면서 시행착오를 경험하고 있다. 

변수 변수 변수,,, 변수의 초기값이 중요하다는 것을 이번 상황을 통해 다시한번 깨닫게 되었다. 

 

A화면에서는 잘 등록되는 api 가 같은 원리인데 왜 B화면에서는 NullPointerException이 나는 걸까? 하며 비교해보니 정답은 값을 넘길 때 방식이 다르기 때문이었다. 

 

A 화면에서는 ''로 넘겨 빈문자열을  보내고 B화면에서는 ''를 세팅하지 않아 Null 로 보냈기 때문이다. 

 

이래서 코드컨벤션이 중요하다는 것을 깨달았다. 

https://ui.toast.com/fe-guide/ko_CODING-CONVENTION#%EB%93%A4%EC%97%AC%EC%93%B0%EA%B8%B0

 

코딩컨벤션

코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 특히 자바스크립트는 다른 언어에 비해 유연한 문법구조(동적 타입, this 바인딩, 네이티브 객체 조작 가

ui.toast.com

 

결국 B화면을 A화면과 같이 다시 변수를 설정하고 화면에 값을 보여주는 로직을 추가하였고 결국 개발해 놓았던 화면을 다시 전부 값을 변경하는 수고를 들여야 했다... ㅠㅠ 

 

이런 상황을 이야기하며 다음 화면 개발시에 참고할 수 있도록 함께 관련 정보를 공유해야 될 것 같다.