Query Param과 Form Data를 같이 사용하면 어떻게 될까?

선종우·2023년 5월 14일
0
post-custom-banner

1. 공부배경

  • @ModelAttribute, @RequestParam을 사용하면 사용자 요청에 있는 값을 Dto나 변수에 자동 할당해준다. 그런데 PostMan을 사용 중 실수로 Query param과 Form data를 같이 사용했고, 원했던 입력값 검증결과가 나오지 않았다.(ArticleDto title필드에 @NotBlank를 적용한 상황)
    • Query Param의 title도 빈 값이고, Form Data title도 공백으로만 이뤄진 상황

2. 공부 내용

2.1. 곁가지(HttpServletRequest는?)

  • 이름이 같은 Parameter가 있을 때 어떻게 작동할까? -> 내부 우선순위에 따라 1개 값만 할당된다.

  • Query parma title에는 a Form data title에는 b를 넣어보았다.

     request.getParameter("title") // b만 나온다.
     request.getParameterValues("title") // a, b배열로 나온다.

3. 정리

  • Query Param과 Form Data를 동시에 사용하는 경우 두 값 모두를 DTO에 할당한다.
post-custom-banner

0개의 댓글