У меня есть CreateClassification
API, который используется для вставки данных в таблицу базы данных. В таблице есть уникальное ограничение, поэтому, если я попытаюсь вставить ту же запись, она даст ответ ниже.
{
"result": null,
"targetUrl": null,
"success": false,
"error": {
"code": 0,
"message": "An internal error occurred during your request!",
"details": null,
"validationErrors": null
},
"unAuthorizedRequest": false,
"__abp": true
}
API:
await _classificationrepository.InsertAsync(classobj);
Но причина сбоя не ясна из этого ответного сообщения, потому что может быть много причин для неудачной вставки. Так есть ли способ получить правильную причину сбоя.
Msg 2627, Level 14, State 1, Line 1
Violation of UNIQUE KEY constraint 'IX_ClassificationCode'. Cannot insert duplicate key in object 'dbo.Classification'. The duplicate key value is (02).
The statement has been terminated.
Как и предполагалось, я пробовал это, но это не повлияло на ответ API:
Task Createxyz(XyzInput input);
public async Task Createxyz(XyzInput input)
{
try
{
await _xyzrepository.InsertAsync(classobj);
}
catch (Exception)
{
throw new UserFriendlyException("hello");
}
}
Нажав на приведенный ниже URL:
http://localhost:22742/api/services/app/xyz/Createxyz
У меня есть еще одно сомнение, как мой Createxyz
преобразуется в API?, означает, как abp обеспечивает маршрутизацию к методу Createxyz
, чтобы конечный пользователь мог вызвать этот API