如何使用改造获得 json 响应 [英] how to get json response using retrofit
本文介绍了如何使用改造获得 json 响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
{"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);
}
主活动
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;
}
推荐答案
试试这个:
API 客户端:
public class ApiClient {
public static final String BASE_URL = "http://zeenatkhanniazai.com/services/";
private static Retrofit retrofit = null;
public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
API接口:
public interface ApiInterface {
@POST("login.php")
@FormUrlEncoded
Call<users> getTopRatedMovies(@Field("uemail") String uemail, @Field("upassword") String upassword);
}
用户类别:
public class users
{
@SerializedName("message")
private String message;
@SerializedName("status")
private String status;
public String getStatus() {
return status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public void setStatus(String status) {
this.status = status;
}
}
主要活动:
call.enqueue(new Callback<users>() {
@Override
public void onResponse(Call<users> call, Response<users> response) {
progressDoalog.dismiss();
int statusCode = response.code();
String movies = response.body().getMessage();
Log.e("sdasd",movies);
//Log.w("response",new Gson().toJson(response));
Log.w("response",new GsonBuilder().setPrettyPrinting().create().toJson(response));
// recyclerView.setAdapter(new MoviesAdapter(movies, R.layout.list_item_movie, getApplicationContext()));
}
@Override
public void onFailure(Call<users> call, Throwable t) {
progressDoalog.dismiss();
// Log error here since request failed
Log.e(TAG, t.toString());
}
});
输出:
Login unsuccessful :( This account doesn't exist or the email is not verified yet! try asking admin for activation and then logging in ;)
回复:
"body": {
"message": "Login unsuccessful :( This account doesnu0027t exist or the email is not verified yet! try asking admin for activation and then logging in ;)",
"status": "0"
},
这篇关于如何使用改造获得 json 响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文