Я новичок в ASP.NET MVC Web API.Я пытаюсь изменить возвращаемый JSon в этот формат
{
"Error": false,
"Status": 200,
"Response": []
}
Теперь я могу сделать это, следуя этому сообщению https://www.devtrends.co.uk/blog/wrapping-asp.net-web-api-responses-for-consistency-and-to-provide-additional-information.Но проблема в том, что я не могу показать ошибку ModelState, например «Имя необходимо», потому что код показывает только ошибку первого попадания.
if (error != null)
{
content = null;
//only show the first error
errorMessage = error.Message;
}
Итак, я сделал некоторую модификацию, теперь код написан так:
if (error != null)
{
content = null;
foreach(var e in error)
{
//if the error's type is ModelState
if (e.Key.Equals("ModelState"))
{
var allErrors = e.Value;
foreach (var modelError in (IEnumerable<KeyValuePair<string, object>>)allErrors)
{
var msg = modelError;
errorMessage = string.Concat(errorMessage, ", ", ((String[]) modelError.Value)[0]);
}
}
else
{
errorMessage = e.Value.ToString();
}
}
}
Теперь он может отображать все ошибки, но код не очень корректный.Я пишу эти вопросы, чтобы узнать, как правильно написать код такого рода.