Отдых Sharp Execute не удается из-за исключения
-
12-12-2019 - |
Вопрос
У меня есть это:
public Int32 NumberOfLocationsForCompany(int companyId)
{
var response = _curl.ResetRequest()
.WithPath(LOCATION_URL)
.AddParam("companyId", companyId.ToString())
.RequestAsGet()
.ProcessRequest<Int32>();
return response;
}
.
Это вызывает это в конце.
public T ProcessRequest<T>() where T : new()
{
var response = _client.Execute<T>(_request);
if (response.ErrorException != null)
{
throw response.ErrorException;
}
return response.Data;
}
.
Но я получаю эту ошибку.Я не понимаю, почему он пытается сопоставить INT в коллекции или почему INT64 против 32 я указывалось.
Когда я ударю API напрямую, это то, что я возвращаю
<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">17</int>
.
Я чувствую, что это то, что я не понимаю о спокойном состоянии.Я расскажу о методе Execute ожидать int, он получает и int, но пытается сопоставить его в коллекцию.Почему и где происходит коллекция?
Я заметил, что когда я смотрю в содержание объекта базового ответа, присутствует соответствующий результат «17», почему не может отдохнуть Sharp найти его?И еще где он нахожу коллекцию?
Решение
При взгляде на объект ответа я обнаружил, что возвращаемое значение было в контент VS в данных.Я нашел это, чтобы быть правдой, когда я не возвращал объект или список объектов.
Так что теперь, когда я ожидаю int, String, Bool и т. Д. Я использую следующее и отливьте тип возвращаемого значения:
public string ProcessRequestWithValue()
{
var response = _client.Execute(_request);
if (response.ErrorException != null)
{
throw response.ErrorException;
}
return response.Content;
}
.
Надеюсь, это поможет!