2017-01-18 1 views
0

В обычном контроллере MVC, мы можем связать тело JSon с моделью, пока совпадают все параметры так:C# MVC Validate jsonString отправил к действию контроллера

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

Однако я заметил, что с помощью скрипача , если бы я должен был сделать что-то вроде этого:

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

Контроллер автоматически вернет InternalServerError. Я хочу, чтобы иметь возможность возвращать настраиваемое сообщение. Как я могу проверить Json, если это сценарий?

Первоначально я думал, что недопустимый Json приведет к тому, что объект Person станет NULL, поэтому я сделал обработчик для этого, чтобы вернуть пользовательское сообщение, но после его попытки здесь это не похоже.

+0

Посмотрите на Custom Binder –

ответ

0

1) Ручка Ошибка

Я бы проверить эту статью о обработки ошибок на разных уровнях. http://www.dotnettricks.com/learn/mvc/exception-or-error-handling-and-logging-in-mvc4

Вы можете поймать ошибки на разных уровнях и вернуть разные ответы об ошибках.

2) Закрепить вход

считают также, что, когда различные части системы соглашаются общаться в заданном формате (JSON) не должны обе стороны соблюдать? Это также ошибка для клиента, чтобы отправить вам сломанный JSON, не так ли? Это можно устранить, очистив интерфейс передней панели.

Смежные вопросы