From a92d57d9cf5c7c22c022b9f4727ddfd9e6e2fb33 Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 17 Dec 2025 09:31:58 +0100 Subject: [PATCH] Return 404 for null body/header in result controllers Previously, OutResController and ResultViewController returned HTTP 200 OK with an empty object when the response body or header was null. Now, they return HTTP 404 Not Found in these cases, providing more accurate HTTP status codes for missing resources. Non-null bodies or headers continue to return HTTP 200 OK with the deserialized content. --- src/ReC.API/Controllers/OutResController.cs | 4 ++-- src/ReC.API/Controllers/ResultViewController.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ReC.API/Controllers/OutResController.cs b/src/ReC.API/Controllers/OutResController.cs index b485ffe..1c90266 100644 --- a/src/ReC.API/Controllers/OutResController.cs +++ b/src/ReC.API/Controllers/OutResController.cs @@ -52,8 +52,8 @@ public class OutResController(IMediator mediator, IConfiguration config) : Contr return resultType switch { - ResultType.Body => res.Body is null ? Ok(new object { }) : Ok(res.Body.JsonToDynamic()), - ResultType.Header => res.Header is null ? Ok(new object { }) : Ok(res.Header.JsonToDynamic()), + ResultType.Body => res.Body is null ? NotFound() : Ok(res.Body.JsonToDynamic()), + ResultType.Header => res.Header is null ? NotFound() : Ok(res.Header.JsonToDynamic()), _ => Ok(res), }; } diff --git a/src/ReC.API/Controllers/ResultViewController.cs b/src/ReC.API/Controllers/ResultViewController.cs index d411f43..b28a570 100644 --- a/src/ReC.API/Controllers/ResultViewController.cs +++ b/src/ReC.API/Controllers/ResultViewController.cs @@ -32,8 +32,8 @@ public class ResultViewController(IMediator mediator, IConfiguration config) : C return resultType switch { - ResultType.Body => res.Body is null ? Ok(new object { }) : Ok(res.Body.JsonToDynamic()), - ResultType.Header => res.Header is null ? Ok(new object { }) : Ok(res.Header.JsonToDynamic()), + ResultType.Body => res.Body is null ? NotFound() : Ok(res.Body.JsonToDynamic()), + ResultType.Header => res.Header is null ? NotFound() : Ok(res.Header.JsonToDynamic()), _ => Ok(res), }; }