如果我嘗試創建重復 ID,則會出現以下錯誤:
{
"messages": [
"could not execute statement; SQL [n/a]; constraint [user.UK_6ntlp6n5ltjg6hhxl66jj5u0l]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement"
],
"timestamp": "2022-09-23T15:57:55.545009"
}
我想自定義這個錯誤,我該怎么做?你能給我一個簡單的例子嗎?
我的代碼如下。
@Service
class UserService(
private val userRepository: UserRepository
) {
fun userRegister(inData: UserRegisterReq): User {
return userRepository.save(inData.getUser())
}
}
我正在使用 kotlin 的 springBoot。
我是初學者,對不起。
所需的形狀
{
"message" : [ "This is a duplicate user", ]
}
uj5u.com熱心網友回復:
@Service
class UserService(
private val userRepository: UserRepository
) {
fun userRegister(inData: UserRegisterReq):Any {
return try{
userRepository.save(inData.getUser())
}
catch(e:Exception){
"This is a duplicate user"
}
}
}
您可以像上面那樣使用 Try and catch 。與其捕獲Exception,不如捕獲約束Violation Exception。也可以使用多個 catch 塊。(這是解決您問題的最簡單方法)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509867.html
上一篇:使用GradleKotlinDSL創建TransformerFactory.newInstance().newTransformer()的正確方法
