From 57151c879376374425adb04fb68dad2cf7930df8 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 5 Aug 2019 18:58:56 +0800 Subject: 3 things. 1. Exchange Models and Entities namespace. 2. Fix the bug that input with missing field leads to 500. 3. Write unit tests. --- Timeline/Helpers/InvalidModelResponseFactory.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Timeline/Helpers/InvalidModelResponseFactory.cs (limited to 'Timeline/Helpers/InvalidModelResponseFactory.cs') 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())); + } + } +} -- cgit v1.2.3