相关疑难解决方法(0)

如何让反应机构改造例外?

我试图通过Android应用程序中的改造连接到休息服务.我得到了回复.但是当服务有一些错误响应时,会发生转换异常,现在我想根据响应主体做一些操作.但我得到的响应正文为NULL.但改装日志有一条错误消息.为什么会这样呢?

D/Reftofit log(24856): OkHttp-Received-Millis: 1397527055676
D/Reftofit log(24856): OkHttp-Response-Source: NETWORK 200
D/Reftofit log(24856): OkHttp-Sent-Millis: 1397527055492
D/Reftofit log(24856): Server: Apache/2.2.22 (Ubuntu)
D/Reftofit log(24856): X-Powered-By: PHP/5.3.10-1ubuntu3.10
D/Reftofit log(24856): {"result":"Invalid Token ID"}
Run Code Online (Sandbox Code Playgroud)

码:

public void failure(RetrofitError retrofitError) {
    String response = null;
    TokenError tokenError = (TokenError) retrofitError.getBodyAs(TokenError.class);
    response = tokenError.getErrorDetails();
    Log.e(TAG, response);
    if (response != null && response.contains("Invalid Token ID")) {
        GroupDataProvider.getInstance().onFailure();
    }

}
Run Code Online (Sandbox Code Playgroud)

我在这里得到tokenErrornull.我不知道为什么?我是否需要使用rest适配器设置某些内容,以便将响应传递给改进的错误对象.

java rest android retrofit okhttp

36
推荐指数
2
解决办法
3万
查看次数

Android Volley - 如何在另一个类中隔离请求

嗨,我想模块化排球请求,所以我不会将活动演示代码与排球请求混在一起.我看到的所有样本,凌空请求都被放置 - 例如 - 来自活动按钮的OnClick事件.

我的意思是这段代码(取自差异源代码):

// prepare the Request
JsonObjectRequest getRequest = new JsonObjectRequest(Request.Method.GET, url, null,
    new Response.Listener<JSONObject>() 
    {
        @Override
        public void onResponse(JSONObject response) {   
                        // display response     
            Log.d("Response", response.toString());
        }
    }, 
    new Response.ErrorListener() 
    {
         @Override
         public void onErrorResponse(VolleyError error) {            
            Log.d("Error.Response", response);
       }
    }
);

// add it to the RequestQueue   
queue.add(getRequest);
Run Code Online (Sandbox Code Playgroud)

我的观点是如何将所有请求代码发送到另一个类,然后实例化该类并调用makeRequest.我已经尝试了这个,但它失败了.我不知道它是否与Context相关但却失败了......

我这样做了:

public void onClick(View v) {
    try{

        Utils varRequest = new Utils(getApplicationContext());
        String url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";

        varRequest.makeRequest(url);
        mitexto.setText(varRequest.miError);
    }
    catch(Exception excepcion) {
        System.out.println(excepcion.toString());

        }

    } …
Run Code Online (Sandbox Code Playgroud)

android android-volley

20
推荐指数
1
解决办法
2万
查看次数

Android with Retrofit2 OkHttp3 - 多部分 POST 错误

我在 Android 上使用 Retrofit2 和 OkHttp 进行 HTTP 请求。这里我正在做一个带有文档上传的 POST 请求。我遇到了以下错误:

D/OkHttp: <-- 500 Server Error http://api.drivewealth.io/v1/documents (4289ms)
D/OkHttp: Date: Tue, 11 Apr 2017 03:29:48 GMT
D/OkHttp: Cache-Control: must-revalidate,no-cache,no-store
D/OkHttp: Content-Type: text/html; charset=ISO-8859-1
D/OkHttp: Server: Jetty(9.2.17.v20160517)
D/OkHttp: Content-Length: 9323
D/OkHttp: Connection: keep-alive
D/OkHttp: <html>
D/OkHttp: <head>
D/OkHttp: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
D/OkHttp: <title>Error 500 Server Error</title>
D/OkHttp: </head>
D/OkHttp: <body><h2>HTTP ERROR 500</h2>
D/OkHttp: <p>Problem accessing /v1/documents. Reason:
D/OkHttp: <pre>    Server Error</pre></p><h3>Caused by:</h3><pre>org.apache.cxf.interceptor.Fault: Couldn&apos;t determine the boundary from the message!
D/OkHttp: …
Run Code Online (Sandbox Code Playgroud)

android multipartform-data multipart okhttp retrofit2

4
推荐指数
1
解决办法
5898
查看次数