sto implementando funzionalità di accesso e per questo utilizzo richiesta Inserisci ma sto ottenendo errore che diceRetrofit Messaggio Parametro
"retrofit.RetrofitError: com.squareup.okhttp.internal.http.HttpMethod.METHODS"
Di seguito è riportato il mio codice
import java.util.HashMap;
import java.util.Map;
import retrofit.Callback;
import retrofit.http.*;
//Myapi.java
import java.util.HashMap;
import java.util.Map;
import retrofit.Callback;
import retrofit.http.*;
public interface MyApi {
/* LOGIN */
@POST("/api/0.01/oauth2/access_token/")
// your login function in your api
public void login(@Body HashMap<String, String> arguments, Callback<String> calback);
}
//In my activity
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(Constants_Interface.URL).setClient(newclient)
.build();
MyApi mylogin = restAdapter.create(MyApi.class);
HashMap<String, String> dicMap = new HashMap<String, String>();
dicMap.put("client_id", XXX);
dicMap.put("client_secret", XXX);
dicMap.put("username", XXX);
dicMap.put("password", XXX);
mylogin.login(dicMap, new Callback<String>() {
@Override
public void failure(RetrofitError retrofitError) {
retrofitError.printStackTrace(); // to see if you have
// errors
}
@Override
public void success(String s, retrofit.client.Response response) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Login Succes",
Toast.LENGTH_LONG).show();
}
});
Sotto di essa logcat output.
02-10 13:02:43.846: W/System.err(30684): retrofit.RetrofitError: com.squareup.okhttp.internal.http.HttpMethod.METHODS 02-10
Se state server è in attesa di JSON quindi provare a fare l'argomento @Body una classe. –
No, non si aspetta un oggetto JSON. Sta chiedendo i parametri solo come stringa. –
Retrofit serializza la tua classe @Body per impostazione predefinita, quindi sono sicuro che il tuo server riceverà una stringa –