Я хочу поместить jsonBody, полученную из Rest API, в конструкцию этого класса.
Console.WriteLine(response.Data);
Каким-то образом он возвращает только ноль.
Весь мой код:
RestClient client = new RestClient("https://euterpe.webuntis.com/WebUntis/jsonrpc.do?school=HTL-Perg");
public void login()
{
var request = new RestRequest(Method.POST);
request.AddHeader("Content-type", "application/jason");
request.AddJsonBody(new
{
id = "ID",
method = "authenticate",
@params = new
{
user = "kung",
password = "foo",
client = "CLIENT"
},
jsonrpc = "2.0"
});
var response = this.client.Execute<AuthenticationResponse>(request);
Console.WriteLine(response.Data);
}
Запрос работает, и я получаю следующий возврат API Rest:
{
"jsonrpc":"2.0",
"id":"ID",
"result": {
"sessionId":"A173BECFB75F66123D6B678BE9745A29",
"personType":5,
"personId":1234,
"klasseId":123
}
}
Наконец, это два класса, в которых должен храниться ответ, но переменные, похоже, остаются пустыми:
public class AuthenticationResponse
{
[DeserializeAs(Name = "jsonrpc")]
public String Jsonrpc { get; set; }
[DeserializeAs(Name = "id")]
public int id { get; set; }
[DeserializeAs(Name = "result", Content=true)]
AuthenticationResult res { get; set; }
}
public class AuthenticationResult
{
[DeserializeAs(Name = "sessionId")]
string sessionId { get; set; }
[DeserializeAs(Name = "personType")]
int personType { get; set; }
[DeserializeAs(Name = "personId")]
int personId { get; set; }
[DeserializeAs(Name = "klasseId")]
int klasseId { get; set; }
}
Спасибо за каждый совет.