강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

홍창섭님의 프로필 이미지
홍창섭

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@RequestParam 어노테이션에 대한 Validation

해결된 질문

작성

·

2.4K

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
수강한 내용을 기반으로 제 개인 프로젝트에 Validation을 적용하려고 시도해보았습니다.(참고로 지금 검증을 적용시키려는 컨트롤러는 @RestController입니다.)
하지만 위의 제목에 언급된 에노테이션에는 bindingResult라는 인터페이스 자체가 먹히질 않는 에러가 발생했습니다.
아래는 발생한 에러의 일부입니다.
An Errors/BindingResult argument is expected to be declared immediately after the model attribute, the @RequestBody or the @RequestPart arguments to which they apply
생각해보니 바인딩할 요소가 없으니 당연한 결과라고 생각합니다..
결론적으로, 실무에서는 @RequestParam 어노테이션을 통해 들어오는 값들은 어떻게 검증하시는지 궁금합니다!
(제 짧은 생각으로는 @RequestParam을 통해 들어오는 데이터를 전부 다 dto화 시켜서 @RequestBody를 달아주면 되지 않을까라고 생각 중입니다.)

답변 1

2

안녕하세요. 홍창섭님, 공식 서포터즈 OMG입니다.

생각하신게 맞습니다.

검증할 방법이 아예 없지는 않습니다.

검증할 필드가 적거나, 갯수가 적다면 아래와 같이 @ReqeustParam 선언한 파라미터에 직접 작성하셔도 됩니다.

https://recordsoflife.tistory.com/369

 

감사합니다.

홍창섭님의 프로필 이미지
홍창섭

작성한 질문수

질문하기