Parámetro de reequipamiento

Estoy implementando la característica de inicio de sesión y para que con la solicitud de correo, pero estoy recibiendo error diciendo

"Retrofit.RetrofitError: com.squareup.okhttp.internal.http.HttpMethod.METHODS"

A continuación se muestra mi código

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(); } }); 

Debajo de la salida logcat.

02-10 13: 02: 43.846: W / System.err (30684): retrofit.RetrofitError: com.squareup.okhttp.internal.http.HttpMethod.METHODS 02-10

Trate de usar esto

 public interface SafeUserApi { @FormUrlEncoded @POST("/api/userlogin") void getUserLogin( @Field("client_id") String id, @Field("client_secret") String secret, @Field("username") String uname, @Field("password") String password, Callback<LoginResult> cb ); } 

Aquí parm1 es el parámetro POST que va a pasarlo al servidor. Esto resolverá su problema

En caso de que si está utilizando PHP u puede acceder al param1 usando $uname= $_POST('username');

EDIT 1:

Versión retrofit 2.0:

 public interface SafeUserApi { @FormUrlEncoded @POST("/api/userlogin") Call<ResponseBody> getUserLogin( @Field("client_id") String id, @Field("client_secret") String secret, @Field("username") String uname, @Field("password") String password ); } 

También puede pasar un parámetro de campo múltiple: por ejemplo:

 @FormUrlEncoded @POST("/oauth/access_token") void getToken( @FieldMap Map<String, String> params, Callback<FacebookLoginUserResponse> callback ); 

He recibido este error hoy

("Retrofit.RetrofitError: com.squareup.okhttp.internal.http.HttpMethod.METHODS")

El problema era que yo estaba usando diferentes versiones okhttp y okhttp-urlconnection, así que asegúrese de que coincidan.

Versión de Retrofit 2.0:

 @FormUrlEncoded @POST("api/v2/users/sign_in") Call<SignInResult> userSignIn( @FieldMap HashMap<String, String> authData ); 

"JSON CONVERSION

Retrofit utiliza Gson por defecto para convertir los cuerpos HTTP hacia y desde JSON. Si desea especificar un comportamiento que es diferente de los valores predeterminados de Gson (por ejemplo, políticas de nomenclatura, formatos de fecha, tipos personalizados), proporcione una nueva instancia de Gson con el comportamiento deseado al crear un RestAdapter. Consulte la documentación de Gson para obtener más detalles sobre la personalización. "

Vea el enlace para más información: http://square.github.io/retrofit/

  • Analizar matriz anidada dinámica en Android Retrofit
  • Cómo saber cuándo finaliza una llamada de Retrofit
  • Retrofit 2 - Parámetro de consulta de URL
  • Consiguió este error con retrofit2 y OkHttp3. No se puede resolver el host "<host-name>": ninguna dirección asociada con el nombre de host
  • Android: pasar dinámicamente la clase del modelo a retroalimentar la devolución de llamada
  • ¿Cómo podemos manejar diferentes tipos de respuesta con Retrofit 2?
  • Encadenamiento de solicitudes en Retrofit + RxJava
  • Hacer sucesivas llamadas de api con Retrofit y devolver observable
  • Obtenga el objeto JSON uno por uno desde la matriz JSON en Android utilizando Retrofit y RxJava
  • La llamada a la API de Retrofit recibe "HTTP FAILED: java.io.IOException: Cancelled"
  • ¿Cómo llamar a API Gateway con Cognito Credentials a través de retrofit2 en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.