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
commit57151c879376374425adb04fb68dad2cf7930df8 (patch)
treeb5f26eabcfa547e76dd7e70ffe0763f3fadf0ad5 /Timeline/Helpers
parent0c0e0c963458aae3ba9589622fc688388833fa9c (diff)
downloadtimeline-57151c879376374425adb04fb68dad2cf7930df8.tar.gz
timeline-57151c879376374425adb04fb68dad2cf7930df8.tar.bz2
timeline-57151c879376374425adb04fb68dad2cf7930df8.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()));
+ }
+ }
+}