Domanda

Ho questo:

public Int32 NumberOfLocationsForCompany(int companyId)
{
        var response = _curl.ResetRequest()
            .WithPath(LOCATION_URL)
            .AddParam("companyId", companyId.ToString())
            .RequestAsGet()
            .ProcessRequest<Int32>();

        return response;
}
.

che lo chiama alla fine.

    public T ProcessRequest<T>() where T : new()
    {
        var response = _client.Execute<T>(_request);

        if (response.ErrorException != null)
        {
            throw response.ErrorException;
        }
        return response.Data;
    }
.

Ma ottengo questo errore.Non capisco perché sta cercando di mappare un INT a una collezione o perché è INT64 VS I 32 che ho specificato.: Impossibile lanciare oggetto di tipo 'system.int64' per digitare system.Collections.generic.Indictionary`2 [System.String, System.Object] '.

Quando ho colpito l'API direttamente questo è quello che ottengo

<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">17</int>
.

Sento che è qualcosa che non capisco di riposare Sharp.Dico al metodo di esecuzione di aspettarsi un INT, riceve e INT, ma sta cercando di mapparlo a una collezione.Perché e da dove viene la collezione?

Ho notato che quando esammo il contenuto dell'oggetto della risposta di base, il risultato appropriato è presente "17", perché non può riposare Sharp lo trovarlo?E ancora dove trova la collezione?

È stato utile?

Soluzione

Quando si esaminano l'oggetto di risposta che ho trovato il valore di ritorno è stato nel contenuto vs in dati.Ho trovato che questo è vero ogni volta che non stavo restituendo un oggetto o un elenco di oggetti.

Allora ora quando mi aspetto un INT, String, Bool, ecc. Io uso il seguente e lancio il tipo di valore di ritorno:

    public string ProcessRequestWithValue()
    {
        var response = _client.Execute(_request);

        if (response.ErrorException != null)
        {
            throw response.ErrorException;
        }

        return response.Content;
    }
.

Spero che questo aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top