2016-02-26 1 views
1

Я использую RestSharp для обработки отправки электронной почты, и мне нужно иметь возможность проверить ответ, чтобы убедиться, что все прошло хорошо.Как разобрать ответ RestSharp в классе?

Я ничего не знаю о JSON, но то, что я видел из моего поиска, заставило меня поверить, что вызов client.Execute<T>(Foo) должен привести к тому, что я получу объект типа T со свойствами, заполненными результатом выполнения запроса ...

Это не тот случай.

В том случае, когда я намеренно провалить POST я получаю от этого свойства response.Content:

{"error":3,"message":"Wrong credentials specified"} 

Когда я отправить запрос с соответствующими учетными данными, response.Content выглядит следующим образом:

{"message":"OK"} 

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

public class RestMessage { 
    string error { get; set; } 
    string message { get; set; } 
} 

, но когда я называю

IRestResponse<RestMessage> Foo = Bar.Execute<RestMessage>(Baz); 

Foo.Data составляет объект типа RestMessage, но в любом случае, результат всегда что error = null (что имеет смысл в последнем случае, но не в первом) и message = null.

Очевидно, что это не так просто, как каждый пример, который я прочитал, делает это таким.

Я установил RestSharp из NuGet в VS2015 Community, используя их удивительный NuGet ... thingy, поэтому у меня самая последняя версия.

Может кто-нибудь объяснить, как я могу выполнить то, что я пытаюсь сделать для меня, как будто я все еще прорезываю зубы?

+0

Это должно быть, тх t правильный способ его использования, проверьте содержимое ответа, когда «сообщение» равно null из RestResponse.Content, должна быть небольшая разница в вашем классе против объекта json – Gusman

+3

Ehmm, не уверен, что это может быть так, но попробуйте сделать свойства общедоступными ... – Gusman

+1

@ Гусман О, если это произойдет, я пойду спать -.-; – Will

ответ

5

Благодаря Гусману за указание на это.

Ответ был настолько прост, я ненавижу себя за то, не видя его, и есть теперь лицо в форме отступы в моем столе, и отступы настольной формы, где мое лицо раньше ...

Перед :

public class RestMessage{ 
    string error{ get; set; } 
    string message{ get; set; } 
} 

После:

public class RestMessage{ 
    public string error{ get; set; } 
    public string message{ get; set; } 
} 

не пить и код детей ...

+0

ваш ответ заставил меня улыбнуться :) –

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

  • Нет связанных вопросов^_^