2017-02-06 3 views
1

Я разработал WebAPI с одним классом, в котором я могу передать json, а мой класс автоматически заполняет все значения.WebAPI - принять недействительный JSON

Но иногда конечный пользователь передает недействительные данные или нежелательные данные, из-за которых мой объект возвращается как null.

Мне нужно записать все запросы независимо от того, действительны или недействительны для моих записей.

Как я могу это сделать?

+0

_due, к которому возвращается мой объект как null_, означает ли вы, что объект, полученный в действии, равен нулю? – Developer

+0

yes объект возвращен как null –

+0

Что вы подразумеваете под _объектом, возвращаемым как null_? – Developer

ответ

-2

Если вы предоставляете какой-либо код какой-либо вашей реализации, ответ может быть более точным.

Вообще, если у вас есть класс для сериализации/десериализации в формате JSON один из способов может быть:

public class Response 
{ 
    public bool success { get; set; } 
    public string data { get; set; } 
    public string timestamp { get; set; } 
    ... 
} 

Использование Newtonsoft JSON сериализатор в Deserialize строку JSON в это соответствующий объект класса.

try 
{ 
    var jsonInput = "{success:true,data:'hello', timestamp:'123123123'}"; /*Request at you API*/ 
    Response response = Newtonsoft.Json.JsonConvert.DeserializeObject<Response>(jsonInput); 
} 
catch(Exception) 
{ 
    // handle here bad request 
} 
+2

Это приведет к тому, что модель будет десериализуется дважды: один раз по образцу связующего и один раз по этому коду. Вам также придется скопировать этот код в каждый метод действий. Кроме того, сериализатор по умолчанию не должен быть JSON-сериализатором. Кроме того, вы игнорируете настройки сериализатора, которые могут быть установлены на более высоком уровне. – CodeCaster

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