如何从服务器捕获原始/纯文本响应

时间:2018-07-01 23:57:59

标签: android retrofit

我目前正在使用Retrofit 1 enter image description here

我正在尝试寻找从服务器捕获原始/纯文本响应的方法,但不确定如何检索它。

这是我初始化的地方

    @POST(ApplicationConstants.USER_URL+"/resendActivationEmail")
    void resendEmail(@Body String email, ResponseCallback result);

,这就是我实现它的地方。

userServiceApi.resendEmail(email, new ResponseCallback() {
                    @Override
                    public void success(Response response) {
                        LogHelper.debug("");
                    }

                    @Override
                    public void failure(RetrofitError error) {
                        LogHelper.debug(error.getMessage);

                    }
                });

我从error.getMessage那里得到的只是http代码状态。

如果我尝试用邮递员测试api,这将是我以JSON格式捕获的响应

enter image description here

,此格式将为原始/纯文本格式。

enter image description here

这是客户端初始化

OkHttpClient mClient = new OkHttpClient().newBuilder().addInterceptor(new PublicApiIntercepter()).build();
    return new RestAdapter.Builder()
            .setEndpoint(ApplicationConstants.BASE_URL)
            .setClient(new Ok3Client(mClient))
            .setConverter(new GsonConverter(gson))
            .setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE)
            .build();

请帮助。谢谢

1 个答案:

答案 0 :(得分:0)

更改自:

@POST(ApplicationConstants.USER_URL+"/resendActivationEmail")
    void resendEmail(@Body String email, ResponseCallback result);

更改为:

 @POST(ApplicationConstants.USER_URL+"/resendActivationEmail")
        Call<ResponseBody> resendEmail(@Body String email, ResponseCallback result);