diff --git a/CleanArchitecture.Api/CleanArchitecture.Api.csproj b/CleanArchitecture.Api/CleanArchitecture.Api.csproj
index 46ce31f..8589472 100644
--- a/CleanArchitecture.Api/CleanArchitecture.Api.csproj
+++ b/CleanArchitecture.Api/CleanArchitecture.Api.csproj
@@ -7,7 +7,23 @@
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
diff --git a/CleanArchitecture.Api/Controllers/ApiController.cs b/CleanArchitecture.Api/Controllers/ApiController.cs
new file mode 100644
index 0000000..d30048e
--- /dev/null
+++ b/CleanArchitecture.Api/Controllers/ApiController.cs
@@ -0,0 +1,68 @@
+using System.Linq;
+using System.Net;
+using CleanArchitecture.Api.Models;
+using CleanArchitecture.Domain.Errors;
+using CleanArchitecture.Domain.Notifications;
+using MediatR;
+using Microsoft.AspNetCore.Mvc;
+
+namespace CleanArchitecture.Api.Controllers;
+
+public class ApiController : ControllerBase
+{
+ private readonly DomainNotificationHandler _notifications;
+
+ protected ApiController(INotificationHandler notifications)
+ {
+ _notifications = (DomainNotificationHandler)notifications;
+ }
+
+ protected new IActionResult Response(object? resultData = null)
+ {
+ if (!_notifications.HasNotifications())
+ {
+ return Ok(
+ new ResponseMessage