• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

HttpEntity에서 @Valid 사용법

19.11.02 01:17 작성 조회수 191

0

RequestBody 대신 HttpEntity를 사용하면 @Valid를 사용 하지 못하는 것 같은데, 맞나요?

답변 3

·

답변을 작성해보세요.

1

신동평님의 프로필

신동평

2020.05.28

이래저래 찾아보니까 아래와 같이 쓰면 괜찮을 것 같네요..

public ResponseEntity<UserInfo> create(@Valid @RequestBody UserInfo userInfo, BindingResult result, @RequestHeader HttpHeaders headers, WebRequest request ) {

}

1

네, @Valid는 자바빈 스팩을 준수하는 객체만 검증이 가능합니다. 그래서 @RequestBody를 사용한 객체가 그 스팩을 준수해야 하며, HttpEntity는 그런 용도가 아니기 때문에 @Valid가 지원하지 못합니다.

0

신동평님의 프로필

신동평

2020.05.28

그러면 혹시 Controller에서 헤더 정보, Request 정보가 필요하면 어떤 객체를 쓰는 것이 효율적인가요(Best Practice?)? 

일전에, 강의에서 백기선 선생님께서 HttpServletRequest를 안썼따고 말씀해주셨는데, 그러면 어떤 객체를 Controller에  갖고 와야지 Request 정보를 효율적으로 제어할 수 있는지 여쭤봐도 괜찮을까요?

고맙습니다.