当前位置: 首页 > 知识库问答 >
问题:

在改造2.0中登录

束高雅
2023-03-14

以前版本的改造使用RestaAdapter,并提供了启用日志的功能。为什么在改型2.0中删除了该功能?

要启用日志,我必须。。

 Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    /** Handles Log */
    retrofit.client().interceptors().add(new LoggingInterceptor());


class LoggingInterceptor implements Interceptor {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
    Request request = chain.request();

    long t1 = System.nanoTime();
    Logger.d(String.format("Sending request %s on %s%n%s",
            request.url(), chain.connection(), request.headers()));

    Response response = chain.proceed(request);

    long t2 = System.nanoTime();
    Logger.d(String.format("Received response for %s in %.1fms%n%s",
            response.request().url(), (t2 - t1) / 1e6d, response.headers()));

   // Logger.d(""+new String(response.body().bytes()));
    return response;
}

这是唯一的解决办法吗?以前的规定非常方便...

共有3个答案

上官联
2023-03-14
OkHttpClient okHttpClient = new OkHttpClient.Builder()
            .addInterceptor(new Interceptor() {
                @Override
                public Response intercept(Chain chain) throws IOException {
                    Request request = chain.request();
                    if (BuildConfig.DEBUG) {
                        Log.e(getClass().getName(), request.method() + " " + request.url());
                        Log.e(getClass().getName(), "" + request.header("Cookie"));
                        RequestBody rb = request.body();
                        Buffer buffer = new Buffer();
                        if (rb != null)
                            rb.writeTo(buffer);
                        LogUtils.LOGE(getClass().getName(), "Payload- " + buffer.readUtf8());
                    }
                    return chain.proceed(request);
                }
            })
            .readTimeout(60, TimeUnit.SECONDS)
            .connectTimeout(60, TimeUnit.SECONDS)
            .build();

            iIdgardServices = new Retrofit.Builder()
                    .baseUrl("Your Base URL")
                    .client(okHttpClient)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build()
                    .create(Your Service Interface .class);

对我有用

许华清
2023-03-14

对于登录改型2,okhttp具有以下记录器:

 private OkHttpClient getOkHttpClient() {
    HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
    if (BuildConfig.LOG_HTTP_CALLS) {
        logging.setLevel(HttpLoggingInterceptor.Level.BODY);
    }

    return new OkHttpClient.Builder()
            .addInterceptor(logging).build();
}

以及build中的依赖关系。格雷德尔

compile'com。收拾一下。okhttp3:logginginterceptor:2.1.0'

艾晋
2023-03-14

改造的目的是执行类型安全的反序列化。可能它删除了应该由http客户端执行的功能,比如日志记录。

合理地说,超文本传输协议客户端应该记录收到的响应,而不是改造。你的问题太宽泛了,广场的人应该补充更多。

 类似资料:
  • 我想打api:www.xyz.com/abc_cc/cc/userregister/newuser 这是我的代码: 接口: POJO类: 我得到了这样的回应: 我已经给出了正确的url,那么为什么只需要一半? 我已经试过了https://code.tutsplus.com/tutorials/sending-data-with-retrofit-2-http-client-for-android-

  • 我们的团队决定采用改型2.0,我正在做一些初步的研究。我是这个图书馆的新手。 我想知道如何使用在我们的Android应用程序中通过改装2.0添加自定义标题。有很多教程介绍如何使用在翻新版1.X中添加标头,但由于API在最新版本中发生了很大变化,我不知道如何在新版本中适应这些方法。此外,改装尚未更新其新文档。 例如,在以下代码中,我应该如何实现类来添加额外的头?此外,未记录的对象究竟是什么?何时调用

  • 我正在使用Reformation 2.0下载文件。问题是未调用<code>使 这是我的界面: 这是我的下载代码:

  • 本文向大家介绍详解从Django Allauth中进行登录改造小结,包括了详解从Django Allauth中进行登录改造小结的使用技巧和注意事项,需要的朋友参考一下 大概来介绍一下 Django Allauth 改造的期间遇到的一些问题和改造方法,在此之前我只想说——Django Allauth 是屑。 为什么我说 Django Allauth 是屑 入职之初我就接到了一些第三方登录的任务,然而

  • http://172.16.7.203/sfAppServices/SF_UserLogin.svc/rest/login/ 在这个用户名和密码是它的一部分,我需要发布用户从edittext输入的用户名和密码,并得到如下json响应 如何使用改装获得json。我已使用asynctask成功完成此操作。但感觉很难通过改造来实现。我的问题是 哪个是基本网址? 在应该在post方法中公开的接口中。 如何

  • 目前,我在改装方面面临一些问题。对于第二个请求,我提供给ReformInstance的URL正在更改。以下是代码: 以下是针对不同API请求的接口方法: UrlEndPoints.kt 对于第一个请求(loginUserByFacebook),我通过调试响应获得的URL是: http://test.sample.com/req/v1/user/auth/facebook 这很好,工作也很好。但是对