저는 스프링 MVC를 기반으로 웹 응용 프로그램을 구현하고 DDD 개념을 중심으로 구성했습니다. 현재 티켓 예약 기능을 구현하려고합니다. 고객은 특정 이벤트에 사용할 수있는 티켓 수를 볼 수 있습니다. 그런 다음 예약 할 항공권 수를 입력하고 양식을 제출할 수 있습니다. 등록을 책임지는 응용 서비스를 호출하는 컨트롤러가 요청을 수신합니다.응용 프로그램 서비스 계층의 오류보고
- 검증 입력 매개 변수 :
- (1A)를 다음과 같이 응용 프로그램 서비스 로직이다. 해당 ID의 이벤트가 존재하는지 확인하십시오.
- 1B. 사용 가능한 티켓 수가 예약 가능한지 확인하십시오.
- 유효성 검사가 통과되면 등록을 진행하십시오. 그렇지 않으면 오류를보고하십시오.
유효성 오류를보고하기위한 적절한 방법, 특히 포인트 1B에 대한 몇 가지 의구심이 있습니다. 항공권의 수가 예약을 허용하지 않는 상황은 매우 이례적인 것이 아닙니다. 고객은 데이터베이스의 현재 티켓 수와 완전히 일치하지 않는 티켓 수를 볼 수 있습니다 (궁극적으로 일관성 있음). 그 사이 다른 사람이 일부 티켓을 예약 할 수 있습니다.
처음에는 몇 가지 예외를 던져서이 문제를보고하려고 생각했습니다. 그러나, 나는 다른 문제 상황의 몇 가지 생각할 수 있고 그들 각각에 대한 하나의 예외가 아주 잘 들리지 않는 데.
다른 옵션은 오류 코드가 포함 된 한 가지 유형의 예외를 throw하는 것입니다. 그러나 Spring MVC에서이 상황을 적절히 처리하는 방법을 알지 못한다.
이러한 문제의 모범 사례는 무엇입니까? MVC 응용 프로그램에서 어떻게 처리합니까? 모든 조언 크게 감사드립니다.
다른 흥미로운 옵션은 메시지 코드 만 예외로두고 나중에이 코드로 MessageSource에서 검색하는 것입니다. –