Refactor API client for richer error handling

Refactored CatalogApiClient methods to return ApiResult<T> for create, update, and delete operations, enabling more detailed error reporting. Introduced ApiResult<T> and ProblemDetailsDto types, and added logic to parse and display informative error messages. Updated Catalogs.razor to use the new pattern and show user-friendly error feedback. Added necessary using directives.
This commit is contained in:
OlgunR
2026-01-16 14:10:56 +01:00
parent 1fd776bc29
commit 8c175de953
2 changed files with 104 additions and 14 deletions

View File

@@ -151,9 +151,9 @@ else
if (isEditing)
{
var updated = await Api.UpdateAsync(editingId, formModel);
if (!updated)
if (!updated.Success)
{
errorMessage = "Aktualisierung fehlgeschlagen.";
errorMessage = updated.Error ?? "Aktualisierung fehlgeschlagen.";
return;
}
@@ -162,9 +162,9 @@ else
else
{
var created = await Api.CreateAsync(formModel);
if (created == null)
if (!created.Success || created.Value == null)
{
errorMessage = "Anlegen fehlgeschlagen.";
errorMessage = created.Error ?? "Anlegen fehlgeschlagen.";
return;
}
@@ -195,9 +195,9 @@ else
try
{
var deleted = await Api.DeleteAsync(id);
if (!deleted)
if (!deleted.Success)
{
errorMessage = "Löschen fehlgeschlagen.";
errorMessage = deleted.Error ?? "Löschen fehlgeschlagen.";
return;
}