반응형
오류 코드와 메시지 처리(1)
저번에 messages.properties를 사용했는데 오류 메시지도 똑같이 사용하기 위해 하나 더 만들어 주었다. 같은 곳에 오류 코드 메시지도 적을 수 있지만 오류 메시지만 구분하기 쉽게 하기 위해 따로 파일을 만들어 관리한다고 한다.
required.item.itemName=상품 이름은 필수입니다.
errors.properties를 만들고 오류 메시지를 넣어주었다.
중요한건 application.properties에 등록을 해 주어야 한다.
spring.messages.basename=messages,errors
따로 적어주는 게 없으면 messages가 디폴트 값인데 errors.properties도 등록해 사용하기 위해 위처럼 등록을 해 주었다. 이렇게 되면 messages와 errors properties 둘 다 사용하게 되는 것이다.
if (!StringUtils.hasText(item.getItemName())) {
bindingResult.addError(new FieldError("item", "itemName", item.getItemName(), false, new String[]{"required.item.itemName"}, null, null));
}
그다음은 FieldError가 제공하는 두번째 생성자를 통해 파라미터 값을 담아주었는데
cdoes 부분은 메시지 코드를 배열로 여러 값을 전달할 수 있고 순서대로 매칭해서 처음 매칭되는 메시지를 사용한다. 지금 range.item.price를 매칭시키고 있다.
errors.properties에서 확인할 수 있다. 하지만 뒤에 값을 더 적어주고 range.item.price가 매칭되지 않았을 때 다른 메시지를 매칭시킬 수 있다. 예를 들면 기본 오류 메시지를 보여줄 수도 있다.
arguments는 Object[]{} 형식으로 값을 치환하여 전달할 수 있다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : 어떻게 오류 코드를 설계 할 것인가? (0) | 2022.02.11 |
---|---|
[Spring Boot] : 오류 코드와 메시지 처리(2) (0) | 2022.02.11 |
[Spring Boot] : FieldError과 ObjectError에 대해서 (0) | 2022.02.10 |
[Spring Boot] : BindingResult 사용(2) (0) | 2022.02.10 |
[Spring Boot] : BindingResult 사용(1) (0) | 2022.02.10 |
댓글