Android Retrofit简单的检查和打印结果

时间:2016-10-26 08:38:25

标签: android retrofit2

在我的网络服务中,当我发布由服务器检查的userMobileNumber并以此格式打印结果时

{"result":"1"}

当我实施Retrofit for post并获得结果时,我得到No Retrofit annotation found错误

检查移动模型:

public class CheckMobile {
    private String userMobileNumber;

    public String getUserMobileNumber() {
        return userMobileNumber;
    }

    public void setUserMobileNumber(String userMobileNumber) {
        this.userMobileNumber = userMobileNumber;
    }
}

服务:

public interface TestService {
    @POST("rst_checkmobile")
    Call<CheckMobile> checkMobile(String body);

    public static final Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(ClientConfigs.REST_API_BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();
}

发布并获得结果:

@OnClick(R.id.request_create_account)
public void RequestCreateAccount(View view) {
    String userMobileNumber = user_mobile_number.getText().toString().trim();
    if (userMobileNumber.length() > 1) {
        TestService testService = TestService.retrofit.create(TestService.class);
        final Call<CheckMobile> call = TestService.checkMobile(userMobileNumber);

        call.enqueue(new Callback<CheckMobile>() {
            @Override
            public void onResponse(Call<CheckMobile> call, Response<CheckMobile> response) {
                Log.e("OK: ", response.body().toString());
            }

            @Override
            public void onFailure(Call<CheckMobile> call, Throwable t) {
                Log.e("ERROR: ", t.getMessage());
            }
        });
    }
}

2 个答案:

答案 0 :(得分:0)

我理解你的问题。您应该创建POJO模型类:

bulk_create

在您的RequestCreateAccount方法中,

import javax.annotation.Generated;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class CheckMobile{

@SerializedName("result")
@Expose
private String result;


public String getResult() {
return result;
}

public void setResult(String result) {
this.result = result;
}

}

尝试一下,让我知道它是否有效。如果没有发布错误日志。

答案 1 :(得分:0)

打电话给你。 如果你想使用它 - 只需添加CheckMobile.class新字段

@SerializedName("result")private String result;