我的asp.net webapi2(不是核心)中的modelstate错误仅显示为一个奇怪的问题:
\“ \”
这是我的控制器代码:
if (!ModelState.IsValid)
{
Log.Verbose("Modelstate NOT valid");
var errorList = JsonConvert.SerializeObject((from item in ModelState.Values
from error in item.Errors
select error.ErrorMessage).ToList());
Log.Verbose("modelstate errors: " + errorList);
Log.Verbose("resulting object:" + JsonConvert.SerializeObject(computerObject));
return BadRequest("Modelstate not valid" + errorList);
}
Log.Verbose("Modelstate is valid");
return (Ok("dumped + jsonitem));
我认为这从一开始就有效,但是现在它显示了很多无用的东西:
{
"Message": "Modelstate not valid[\"\",\"\",\"\",\"\",\"\",
\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",
\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",
\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",
\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"
The ComputerOsClientComputer field is required.\"]"
}
我插入了换行符以提高可读性。原始结果如下:
{
"Message": "Modelstate not valid[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"The ComputerOs field is required.\"]"
}
虽然我可以肯定地看到“ ComputerOs字段是必填字段”,但我不知道其他所有内容应该是什么意思:// 一旦我解决了“ ComputerOs字段为必填错误”的问题,其余的问题就会保留在那里。因此它必须具有某些含义。
有人可以启发我吗?
非常感谢!
斯蒂芬
答案 0 :(得分:0)
找到了!
我的json请求的一部分格式错误。
我没有在这里发布请求,因为它很大,而且我不知道是哪个部分导致了错误。 虽然我的模型指出了这一点:
tail
我在json请求中发送的是
public class ComputerLocalGroups
{
public string Groupname { get; set; }
public int LocalGroupId { get; set; }
}
代替:
{
"ComputerLocalGroupsCurrent":[{"Access Control Assistance Operators", 11}]
}
很奇怪,它导致这种“错误消息”而不是更有用的东西,但这是我一开始的错,所以我不能抱怨:D