2017-01-18 110 views
0

在一个典型的MVC控制器,我们可以JSON的机身采用了型号,只要所有的参数相匹配绑定像这样:C#MVC验证jsonString张贴到控制器动作

[HttpPost] 
public void PostPerson(Person p){ 
    //stuff 
} 

然而,我注意到,使用招,如果我要这样做:

{ 
    "name":, 
    "age": 12 
} 

控制器将自动返回InternalServerError。我希望能够返回自定义消息。如果这是场景,我如何验证Json?

我最初认为无效的Json会导致Person对象变为NULL,因此我为此返回了一条自定义消息的处理程序,但在此处尝试之后,情况并非如此。

+0

看看Custom Model Binder –

回答

0

1)处理错误

我想看看这篇文章错误在不同层次处理。 http://www.dotnettricks.com/learn/mvc/exception-or-error-handling-and-logging-in-mvc4

您可以在不同级别捕获错误并返回不同的错误响应。

2)修复输入

同时认为,当一个系统的不同部分同意给定的格式(JSON沟通)不应双方遵守?客户发送破碎的JSON给你也是一个错误,不是吗?这可以通过清理前端界面来消除。