我正在尝试获取在请求中发送的确切JSON。这是我的代码:
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new Interceptor(){
@Override public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Log.e(String.format("\nrequest:\n%s\nheaders:\n%s",
request.body().toString(), request.headers()));
com.squareup.okhttp.Response response = chain.proceed(request);
return response;
}
});
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(client).build();
但是我只在日志中看到:
request:
com.squareup.okhttp.RequestBody$1@3ff4074d
headers:
Content-Type: application/vnd.ll.event.list+json
考虑到删除了Retrofit 1 setLog
()以及setLogLevel()
我们以前使用的Retrofit 1 ,我应该如何正确记录?
在Retrofit 2中,你应该使用HttpLoggingInterceptor。
将依赖项添加到build.gradle
。截至2019年10月的最新版本是:
implementation 'com.squareup.okhttp3:logging-interceptor:4.2.1'
创建一个Retrofit如下所示的对象:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://backend.example.com")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
return retrofit.create(ApiClient.class);
如果有弃用警告,只需更改setLevel为:
interceptor.level(HttpLoggingInterceptor.Level.BODY);
上面的解决方案为你提供了与logcat消息非常相似的logcat消息
setLogLevel(RestAdapter.LogLevel.FULL)
如果是java.lang.ClassNotFoundException:
较旧的翻新版本可能需要较旧的logging-interceptor
版本。查看注释部分以了解详细信息。
我正在尝试获取请求中发送的确切的JSON。下面是我的代码: 但我只在日志中看到这一点:
我尝试设置一个完整的路径,如: 但在这里,reverfit没有看到路径实际上是完整的URL,并且正在尝试下载 有任何提示,我可以如何使用这样的动态url改造?
问题内容: 我需要使用Retrofit 2发布JSON对象。我的JSON对象是 {“ logTime”:“”,“ datas”:[{“ dat1”:“ 1”,“ dat2”:“”,“ dat3”:“”,“ dat4”:“”,“ dat5”:“” } ,{“ dat1”:“ 1”,“ dat2”:“”,“ dat3”:“”,“ dat4”:“”,“ dat5”:“” }]} 我尝试使用以下代码: A
问题内容: 我正在做一个项目,目前正在用log4j实现一些日志记录,我很好奇我应该如何实现日志。我要介绍的两个实现如下: 第一选择 将超类的单个日志用于该类和所有子类: 第二种选择 为每个类,上级和下级使用单独的日志: 什么更有意义,为什么? 问题答案: 我也不会 相反,我会在两种情况下都使用正确的类。 如果您不进行大量日志记录(无论如何是个好主意),则可以改用一种方法。 如果有一个类经常调用它,
我想用法语和英语翻译我的应用程序。我完全遵循了CakePHP3文档,但它不起作用。 在我的开发中,我使用了一个vagrant框来轻松启动并运行CakePHP3。这个盒子名叫“流浪厨师” 我修改了第100行,将法语作为默认语言。 我将此方法添加到默认页面控制器 我加了这两行 从终端,我输入这个命令。CakePHP在中创建了2个文件。那些文件是和。我翻译了默认值。像这样的文件: 文件现在如下所示: 尽