2015-10-20 14 views
5

Desidero passare i parametri mutiple in runtime per ottenere il metodo per il mio progetto Android. In seguito è il mio URLCome utilizzare il parametro multple @Path in GET di retrofit

http://myservice.com/home/MobileAPI/MobAPI.svc/LoginCriteria/26/address/1/permenant

Qui sto usando URL di base come: http://myservice.com/home/MobileAPI/MobAPI.svc

voglio passare 'indirizzo' e 'permenant' in fase di esecuzione nel mio metodo GET utilizzando retrofit.

sto provando come:

@GET("LoginCriteria/26/{address}/1/{permenant}") 
void getDetails(@Path("address") String address,@Path("permenant") String permenant, Callback<AddressParser> parserCallback); 

Ecco la mia risposta JSON:

{ 
    "response": { 
     "type": "success", 
     "data": { 
     "datalist": { 
      "total": "20", 
      "user": [ 
       { 
        "empcode": "", 
        "companycode": "", 
        "companyname": "" 
       }, 
            { 
        "empcode": "", 
        "companycode": "", 
        "companyname": "" 
       } 
            ] 
              } 
          } 
          } 
} 

sto ottenendo il seguente execption:

All'interno fallimento com.fasterxml. jackson.databind.JsonMappingException: Impossibile deserializzare l'istanza di java.util.ArrayList su Token START_OBJECT.

Se passo solo un parametro in fase di esecuzione funziona. Non funziona per più di un parametro @Path. Ogni suggerimento sarà apprezzato grazie.

+0

Puoi mostrare la tua classe AddressParser – Soham

risposta

0

Suppongo che il problema non sia correlato ai parametri del percorso. Sono sicuro che sia in qualche modo correlato alla risposta della tua richiesta.

Abilitare il log in retrofit e controllare l'url chiamato e la risposta data.

L'eccezione indica che Jackson non è riuscito a analizzare la risposta della richiesta.

+0

Anche io ricevo risposta ed è valido. Ma sta per fallimento metodo di retrofit. Se avessi un parametro hard coded, funzionerebbe perfettamente. Grazie – androidDev