【发布时间】:2019-06-21 15:18:54
【问题描述】:
{"status":"0","message":"登录失败:(此帐户不存在或电子邮件尚未验证!请尝试询问管理员激活然后登录;)" }
这是我的网址
http://zeenatkhanniazai.com/services/login.php
登录类和接口
public static String BASE_URL="http://zeenatkhanniazai.com/services/";
public static loginServices loginn=null;
public static loginServices Login(){
if (loginn == null ){
Retrofit retrofit=new Retrofit.Builder().baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
loginn = retrofit.create(loginServices.class);
}
return loginn;
}
public interface loginServices{
@POST("login.php/{uemail}/{upassword}")
retrofit2.Call<User> login(@Path("uemail") String uemail, @Path("upassword") String upassword);
}
MainActivity
String femail=email.getText().toString();
String fpasssword=password.getText().toString();
Call<User> call=LoginApi.Login().login(femail,fpasssword);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
User users= response.body();
users.getMessege();
Toast.makeText(MainActivity.this, "respoces"+new Gson().toJson(response.body()), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Toast.makeText(MainActivity.this, "f", Toast.LENGTH_SHORT).show(); }
这是我的用户类
@SerializedName("message")
private String message;
@SerializedName("status")
private String status;
public String getStatus() {
return status;
}
public String message() {
return message;
}
【问题讨论】:
-
您需要在
@SerializedName中使用message而不是messege -
你能给我一个你请求 URL 的例子吗?首先确定它是否正确。我看到的是
http://zeenatkhanniazai.com/services/login.php/youremail/yourpassword;对吗? -
它不工作
-
是的,这是正确的@MuratGuc
-
testcase :尝试
@Field而不是@path。也可以试试@POST("login.php")
标签: android web-services retrofit2