2017-01-26 1 views
0

Когда я хочу, чтобы удалить объект, который связан с другими объектами в JHipster, модальный показывает ожидаемую ошибку:JHipster - Улучшение сообщения об ошибках на веб-интерфейсе

error.internalServerError 

Однако, было бы неплохо, если бы JHipster может показать хорошее сообщение об ошибке, которое объясняет, что есть другие связанные данные, и вы должны сначала удалить их.

Предоставляет ли JHipster инструменты для возврата значимых ошибок?

ответ

1

есть два способа добиться этого, что зависит от самой ошибки.

Если ошибка выбрана вами, используйте класс CustomParameterizedException. Это автоматически передается на угловую ошибку, поэтому вы получите хорошее сообщение, которое вы определили.

Если ошибка происходит где-то внутри весны, и вы хотите получить более четкое сообщение, я лично предпочитаю изменить класс ExceptionTranslator и изменить обычный «internalServerError» на e.getMessage().

Вы можете ограничить это профилем dev по соображениям безопасности.

0

в классе ExceptionTranslator - некоторые распространенные ошибки. Когда вы удаляете ресурс, который передается по внешнему ключу у некоторых детей, вызывается org.springframework.dao.DataIntegrityViolationException. Это исключение обрабатывается в методе processRuntimeException.

Для того, чтобы создать другое сообщение, которое вы можете использовать создать

@ExceptionHandler(DataIntegrityViolationException.class) 
public ResponseEntity<ErrorVM> processDataIntegrityViolationException(DataIntegrityViolationException ex){ 
} 

Вопрос: что будет сообщение, которое вы хотите добавить? IMHO Я думаю, что вы должны поймать исключение в том месте, где был выполнен вызов, а затем вы можете создать правильное сообщение, которое может быть отправлено пользователю.

Смежные вопросы