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
- ¿Cómo usar AutoValue con Retrofit 2?
- Cómo hacer una solicitud múltiple y esperar hasta que los datos provengan de todas las solicitudes en retrofit 2.0 - android
- Deshabilitar la comprobación de certificados SSL en la biblioteca de actualización
- Cómo enviar JSON OBJECT como parámetro en Retrofit 2 (Android)
- Android Retrofi 2, las diferencias entre addInterceptor y addNetworkInterceptor para editar las respuestas
- ¿Cómo obtener una cadena de respuesta de Retrofit sin procesar?
- Retrofit indica que existe un token de autenticación cuando se desconecta
- Reajuste de campos opcionales y obligatorios
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/
- Android AsyncTask ejemplo y explicación
- ¿Cómo detectar si alguna de mis actividades es la más visible y visible para el usuario?