package com.pgf.mqspring.exception.handler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import com.pgf.mqspring.component.MqSpringMessageSourceComponent; import com.pgf.mqspring.constant.MqSpringConst; import com.pgf.mqspring.exception.MqSpringException; import com.pgf.mqspring.model.ErrorResponseModel; /** * MqSpringの例外処理クラス */ @RestControllerAdvice public class MqSpringExceptionHandler { /** MessageSource実装クラス */ @Autowired private MqSpringMessageSourceComponent messageSource; /** * 例外処理 *

* 例外のレスポンス情報を返す。 * * @param e 例外 * @return レスポンス情報 */ @ExceptionHandler(MqSpringException.class) public ResponseEntity handleMqSpringException(MqSpringException e) { return new ResponseEntity<>( ErrorResponseModel.builder() .responseCode(e.getHttpStatus().value()) .subErrorCode(e.getMessageId().name()) .errorMessage(messageSource.getMessage(e.getMessageId())) .reportingComponentId(MqSpringConst.REPORTING_COMPONENT_ID) .build(), e.getHttpStatus()); } }