아무거나

[SpringBoot] @Valid와 BindingResult를 사용한 파라미터 값 체크 본문

카테고리 없음

[SpringBoot] @Valid와 BindingResult를 사용한 파라미터 값 체크

전봉근 2019. 5. 23. 15:48
반응형

@NotNull과 BindingResult를 활용한 파라미터 예외처리
[Param.java]

import javax.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Param {

    @NotNull(message = "name 값을 입력하여 주시길 바랍니다.")
    private Integer name;

    @NotNull(message = "id 값을 입력하여 주시길 바랍니다.")
    private Integer id;

}

 

[Controller.java]

  @PostMapping("saveTest")
  public ApiResult<Object> setSaveTest(
      @ApiParam(
          value ="id: 아이디 \n\n" +
              "name: 이름"
      )
      @Valid @RequestBody Param command, BindingResult bindingResult
  ) {
      // 예외처리 -> Param.java의 @NotNull 설정한 메세지를 bindingResult.getFieldError().getDefaultMessage() 를 통하여 리턴받을 수 있음
      if (bindingResult.hasErrors()) {
          return new ApiResult<>(
              ApiErrorType.MESSAGE,
              ApiErrorCode.FAIL,
              bindingResult.getFieldError().getDefaultMessage()
          );
      }

      return new ApiResult<>(
          ApiSuccessType.MESSAGE,
          ApiSuccessCode.SUCCESS,
          "등록이 완료되었습니다."
      );
  }  

 

 

 

반응형
Comments