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/

  • Retrofit2 proguard remove param
  • Runtime Execption java.lang.NoClassDefFoundError: retrofit2.Platform en Android
  • Encadenamiento de solicitudes en Retrofit + RxJava
  • Retrofit @body con @multipart teniendo problema
  • Retrofit. Java.net.ProtocolException: esperado * bytes pero recibido *
  • Retrofit2 ¿Datos de formulario codificados estáticos?
  • ¿Cómo puedo devolver String o JSONObject de devolución de llamada asíncrona usando Retrofit?
  • Retrofit 2 La solicitud POST multipart envía cotizaciones extra a PHP
  • Retrofit 2: responseBodyConverter convierte a objeto nulo
  • Parsing Soap Uso del servicio de Retrofit Estoy frente a una excepción como este (es decir) modelo de cuerpo desajustado en el modelo de sobre de clase en la respuesta
  • Obtención de solicitud de contenido corporal mediante el método POST de Retrofit 2.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.