在带有param和header的android改型2中,响应为null

在带有param和header的android改型2中,响应为null,android,json,api,retrofit2,response,Android,Json,Api,Retrofit2,Response,当我运行应用程序并填写电子邮件/密码时,它显示空响应(response.body()!=null&&response.issusccessful())当我登录时,onFailure()不显示任何内容,onResponse()显示空值。我怎样才能解决这个问题 缅因州 public final class MainApi { private static String BASE_URL = "http://www.eg.com/"; private static Retrofit

当我运行应用程序并填写电子邮件/密码时,它显示空响应
(response.body()!=null&&response.issusccessful())
当我登录时,onFailure()不显示任何内容,onResponse()显示空值。我怎样才能解决这个问题

缅因州

public final class MainApi {

    private static String BASE_URL = "http://www.eg.com/";

    private static Retrofit.Builder builder = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(new OkHttpClient());

    public MainApi() {
    }

    public static <S> S createService(Class<S> serviceClass) {
        Retrofit retrofit = builder.build();
        return retrofit.create(serviceClass);
    }
}
公共最终类MainApi{
私有静态字符串BASE_URL=”http://www.eg.com/";
私有静态改装.Builder=新改装.Builder()
.baseUrl(基本URL)
.addConverterFactory(GsonConverterFactory.create())
.client(新的OkHttpClient());
公共MainApi(){
}
公共静态S createService(类serviceClass){
改装改装=builder.build();
返回改装。创建(serviceClass);
}
}
主服务接口

public interface MainService {

    @Headers({"Content-Type: application/json", "Authorization: Bearer fafafafafafa"})
    @FormUrlEncoded
    @POST("auth")
    Call<Auth> postAuth(@Field("email") String email,
                        @Field("password") String password;
}
公共接口主服务{
@标题({“内容类型:应用程序/json”,“授权:承载fafafa”})
@FormUrlEncoded
@发布(“授权”)
Call postAuth(@Field(“email”)字符串电子邮件,
@字段(“密码”)字符串密码;
}
活动

Call<Auth> call = MainApi.createService(MainService.class).postAuth(edt_email.getText().toString(), edt_password.getText().toString());
Call Call=MainApi.createService(MainService.class).postAuth(edt_email.getText().toString(),edt_password.getText().toString());
公共最终类MainApi{
私有静态字符串BASE_URL=”http://www.eg.com/";
私有静态MainService api;//添加了行
私人静态改装。建筑商;
公共静态MainService get(){
if(builder==null){
builder=新改装。builder()
.baseUrl(基本URL)
.addConverterFactory(GsonConverterFactory.create())
.client(getClient());
api=builder.build().create(MainService.class);//添加此行
}
返回api;
}
//添加此代码
私有静态OkHttpClient getClient(){
HttpLoggingInterceptor logging=新的HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
返回新的OkHttpClient.Builder()
.addInterceptor(日志记录)
.connectTimeout(120,时间单位为秒)
.readTimeout(120,时间单位为秒)
.writeTimeout(120,TimeUnit.SECONDS).build();
}
公共MainApi(){
}
公共静态S createService(类serviceClass){
改装改装=builder.build();
返回改装。创建(serviceClass);
}
}

您应该集成
HttpLoggingInterceptor
来检测发生了什么事您的响应代码是什么?@ArbenMaloku当
调用.enqueue
@覆盖public void onResponse(调用,响应)
@PPL通常你必须获得一个响应代码。你可以使用这段代码获得此代码
response.code()
当你获得它时,请在这里发布,这样我们也许可以帮助你。他正在使用它查看这一行-->MainApi.createService(MainService.class)
  public final class MainApi {

        private static String BASE_URL = "http://www.eg.com/";
        private static MainService api;//added line
        private static Retrofit.Builder builder;

         public static MainService get(){
           if(builder== null){
            builder = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .client(getClient());
                 api = builder.build().create(MainService.class);//add this line 
         }

        return api;
         }

        //Add this code
        private static OkHttpClient getClient() {
            HttpLoggingInterceptor logging = new HttpLoggingInterceptor();

            logging.setLevel(HttpLoggingInterceptor.Level.BODY);
            return new OkHttpClient.Builder()
                    .addInterceptor(logging)
                    .connectTimeout(120, TimeUnit.SECONDS)
                    .readTimeout(120, TimeUnit.SECONDS)
                    .writeTimeout(120, TimeUnit.SECONDS).build();
        }


        public MainApi() {
        }

        public static <S> S createService(Class<S> serviceClass) {
            Retrofit retrofit = builder.build();
            return retrofit.create(serviceClass);
        }
        }