본문 바로가기
Study Hard/HW

RequestParam 어노테이션의 양면성

by 코플+ 2023. 7. 11.

프로젝트를 편하게 하고자 jQuery의 serialize()를 dosc를 읽어보았다.

https://api.jquery.com/serialize/

 

.serialize() | jQuery API Documentation

Description: Encode a set of form elements as a string for submission. The .serialize() method creates a text string in standard URL-encoded notation. It can act on a jQuery object that has selected individual form controls, such as , , and : $( "input, te

api.jquery.com

제이쿼리의 serialize()는 form데이터를 url-encoded 형식으로 변환시켜준다.

 

스프링프레임워크 컨트롤러단에서

Ajax나 form 데이터를 가져오기위해서는 @RequestParam @RquestBody 를 흔히 쓴다.

 

@RequestParam은 URL-encoded 방식의 문자열을 파라미터로 전환시켜주는데

 

 이걸 사용하게 되면 정의된 해당 파라미터가 전송되지 않으면 오류가 나게된다.

 

WARN : org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter '파라미터명' for method parameter type String is not present]

 

만약 확실하게 데이터가 들어와야 하는 파라미터가 있다면 @RequestParam를 사용해 찝어주는것도 좋을듯하다.

 

파라미터가 맞지 않을 시에

댓글