본문 바로가기
토이 프로젝트/게시판 만들기 에러

[토이프로젝트/게시판] 게시판 작성 400 에러

by dev_m.w 2024. 6. 7.

구현 해야 하는 기능 -  게시물을 등록 버튼을 누르면 게시물이 등록 되야함.

 

한 jsp 페이지에서  게시물 조회,쓰기  페이지를 같이 사용하다보니

글을 작성할 jsp페이지 에서는 게시물 번호 input 타입을 "hidden"으로 처리.

 

board.jsp

 

 

발생한 에러 400 - 잘못된요청

 

 

등록 버튼을 누르고 나면 발생하는 400에러

 

 

400 에러는  클라이언트가 서버에 잘못된 요청을 하거나 요청에 필요한 데이터가 누락되었을 경우 발생하는 에러.

 


✅ 해결 과정

 

 1. 오타, mapping , 파라미터 확인한다. 

 

-  controller, jsp에 오타가 있는지 확인.

-  jsp 에서 컨트롤러에 넘겨줄 form태그 url 메핑확인 ,

- controller에서 @postMapping 어노에티션이 잘붙어있는지, 파라미터 값, 확인

 

2. <input type="hidden" -> "text"로 바꿔서 아무 값이나 넣어 보기

 

text로 바꿔서 아무 숫자의 값을 넣어서 등록 버튼을 누르니 게시글 등록이 되었다. 

 

3. 디버깅을 사용해 값이 넘어오는지 확인한다.

 

- controller에서 form 테그로 보낸 데이터가 안넘어 오는걸 확인. 

 

 

board.jsp

 

board.controller

 


 

에러 원인 발견

BoardDto의 클래스의 맴버변수로 해당 게시물을 bno 타입을  Integer 타입으로 선언해놨는데,

bno 의 setter 파라미터가 int로 선언이 되있음.

 

즉, 클라이언트에서 넘어오는 파라미터는 setter 로 받게되는데, bno의  setter 파라미터를 int 로 선언해 놨기떄문에 

이다.  int -> null 값을 허용하지 못하기떄문에 즉 400 클라이언트 오류가 발생한 것이였다..

 

 

BoardDto 클래스
BoardDto 클래스

 


 

 

✅ 해결 완료

setter의 파라미터를 interger로 변환하고 나서 다시 작성하고 실행하니 정상적으로 등록이 되었다.