오류 코드와 메시지 처리에 대해 알아보자…
지금까지는 필드 에러를
bindingResult.addError(new FieldError("item", "quantity","수량은 최대 9,999까지 허용합니다."));
bindingResult.addError(new FieldError("item", "quantity", item.getQuantity(), false, null, null, "수량은 최대 9,999까지 허용합니다."));
이런식으로, 일일이 출력될 메시지를 적어줬다.
그런데 시스템이 커지면 이런 메시지도 일관성이 있어야 한다. 그래야 고객이 무엇을 실수했는지 예측하기 쉽게 된다.
이 역시 전에 배운 스프링의 메시지 기능으로 해결할 수 있다.
전에 FieldError와 ObejctError의 인자중에
codes
와 arguments
가 있었다. 이 부분이 바로 메시지 기능을 활용하는 인자이다… 이걸 이제 활용해보자!
resources하위에 errors.properties를 추가해주자.
전에 배운 것 처럼, messages라는 이름이 아니기 때문에 application.properties에 이파일이 메시지 파일임을 등록해줘야 한다.
spring.messages.basename=messages, errors