문제
나는 이것을 가지고있다 :
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 VS라는 이유를 맵핑하는 이유가 있는지 또는 INT64 VS가 지정한 이유를 얻지 못합니다. :
API를 직접 칠 때 이것이 내가 돌아 오는 것입니다
<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">17</int>
.
나는 그것이 내가 쉴 수있는 것에 대해 이해하지 못하는 것이 없다고 느낍니다.INSUTE 메서드에 int, IT 수신 및 int를 예상하지만 컬렉션에 매핑하려고합니다.왜 컬렉션은 어디에서 왔는가?
기본 응답 객체의 콘텐츠를 볼 때 "17"이 적절한 결과가 있음을 알아 차렸다. 왜 샤프를 발견 할 수 없습니까?그리고 여전히 컬렉션을 찾는 것이 어디에 있습니까?
해결책
응답 객체를 볼 때 반환 값이 데이터의 콘텐츠 VS에있는 것을 발견했습니다.내가 객체 나 객체 목록을 반환하지 않을 때마다 이것을 사실로 발견했습니다.
이제 int, string, bool 등을 기대할 때 다음을 사용하고 반환 값의 유형을 캐스팅합니다.
public string ProcessRequestWithValue()
{
var response = _client.Execute(_request);
if (response.ErrorException != null)
{
throw response.ErrorException;
}
return response.Content;
}
.
이 도움이되기를 바랍니다!
제휴하지 않습니다 StackOverflow