2017-10-15 11 views
-1

comment puis-je contructurer cette URL avmlabs.in/avm_db/check_login.php?x={"email":"[email protected]"} en utilisant la bibliothèque retrofit. Je ne sais pas comment faire. Je suis nouveau dans la bibliothèque de rénovation.Comment construire cette URL en utilisant une bibliothèque de retrofit?

c'est l'interface API J'ai créé

public interface ApiInterface { 

    @POST("check_login.php") 
    Call<Login> checkEmail(@Field("x") String email); 


} 

cette classe un modèle

public class Login { 

    public String status_code,status_message,success; 

    public String getStatus_code() { 
     return status_code; 
    } 

    public void setStatus_code(String status_code) { 
     this.status_code = status_code; 
    } 

    public String getStatus_message() { 
     return status_message; 
    } 

    public void setStatus_message(String status_message) { 
     this.status_message = status_message; 
    } 

    public String getSuccess() { 
     return success; 
    } 

    public void setSuccess(String success) { 
     this.success = success; 
    } 
} 

mais je m'y suis avmlabs.in/avm_db/[email protected] cette réponse.

+0

Vous voulez dire que vous voulez 'x = {" email: [email protected] "}' pendant que vous obtenez 'x = user @ gmail.com'? – Raghunandan

+0

ouais je veux x = {"email": "[email protected]"} celui-ci – priyadharsini

+0

pourquoi avez-vous besoin de {} pourquoi ne pas changer sur le côté serveur et ont [email protected] le rendrait plus simple – Raghunandan

Répondre

0

Méthode 1: Utilisation Gson

Créer une classe

public class RequestJson { 
    String email; 
    public RequestJson(String email){ 
      this.email = email; 
    } 
} 

RequestJson requestJson = new RequestJson("[email protected]"); 

changement ApiInterface à

@POST("check_login.php") 
Call<Login> checkEmail(@Field("x") RequestJson requestJson); 

appel directement à l'objet.

Méthode 2: Utilisation JSONObject

JSONObject jsonObject = new JSONObject(); 
jsonObject.put("email", "[email protected]"); 
String email = jsonObject.toString(); 

Transmet cette chaîne pour rénover. Vous obtiendrez {"email": "[email protected]"} comme demande

+0

I J'utilise la 2ème méthode. J'ai obtenu cette URL http://avmlabs.in/avm_db/check_login.php?x={%22email%22:%[email protected]%22}.how codé? – priyadharsini

+0

@priyadharsini si vous voulez json alors pourquoi ne pas envoyer la même chose dans le corps à la place des paramètres de requête. ou juste 'email = user @ gmail.com' qui est plus simple – Raghunandan

+0

@Raghunandan mais qui ne fonctionne pas non plus. Il y a mon code JSONObject jsonObject = new JSONObject(); try { jsonObject.put ("email", "[email protected]"); } catch (JSONException e) { e.printStackTrace(); } Chaîne de messagerie = jsonObject.toString(); Log.e ("email", String.valueOf (jsonObject)); Appelez appel = apiInterface.checkEmail (jsonObject); – priyadharsini