2017-01-18 42 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給你也是一個錯誤,不是嗎?這可以通過清理前端界面來消除。