aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Helpers
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-08-05 18:58:56 +0800
committer杨宇千 <crupest@outlook.com>2019-08-05 18:58:56 +0800
commitdc1ab11cea249f4ca967f86b115147a63f7c93a5 (patch)
treeb5f26eabcfa547e76dd7e70ffe0763f3fadf0ad5 /Timeline/Helpers
parent5f5458518df0475fa36af754cae52eb31eb92fa3 (diff)
downloadtimeline-dc1ab11cea249f4ca967f86b115147a63f7c93a5.tar.gz
timeline-dc1ab11cea249f4ca967f86b115147a63f7c93a5.tar.bz2
timeline-dc1ab11cea249f4ca967f86b115147a63f7c93a5.zip
3 things.
1. Exchange Models and Entities namespace. 2. Fix the bug that input with missing field leads to 500. 3. Write unit tests.
Diffstat (limited to 'Timeline/Helpers')
-rw-r--r--Timeline/Helpers/InvalidModelResponseFactory.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/Timeline/Helpers/InvalidModelResponseFactory.cs b/Timeline/Helpers/InvalidModelResponseFactory.cs
new file mode 100644
index 00000000..e5c87d9e
--- /dev/null
+++ b/Timeline/Helpers/InvalidModelResponseFactory.cs
@@ -0,0 +1,25 @@
+using Microsoft.AspNetCore.Mvc;
+using System.Text;
+using Timeline.Models.Http;
+
+namespace Timeline.Helpers
+{
+ public static class InvalidModelResponseFactory
+ {
+ public static IActionResult Factory(ActionContext context)
+ {
+ var modelState = context.ModelState;
+
+ var messageBuilder = new StringBuilder();
+ foreach (var model in modelState)
+ foreach (var error in model.Value.Errors)
+ {
+ messageBuilder.Append(model.Key);
+ messageBuilder.Append(" : ");
+ messageBuilder.AppendLine(error.ErrorMessage);
+ }
+
+ return new BadRequestObjectResult(CommonResponse.InvalidModel(messageBuilder.ToString()));
+ }
+ }
+}