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

与rxandroid一起使用改版时的java.io.IOException

百里骏
2023-03-14

我需要做HTTP删除请求到我的服务器与身体提供。

我以以下方式构建改型对象:

        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient client = new OkHttpClient.Builder()
                .addInterceptor(interceptor)
                .retryOnConnectionFailure(true)
                .connectTimeout(2, TimeUnit.MINUTES)
                .readTimeout(5, TimeUnit.MINUTES)
                .writeTimeout(5, TimeUnit.MINUTES)
                .build();

        Gson gson = new GsonBuilder()
                .registerTypeAdapter(Date.class, new GsonUTCDateAdapter())
                .registerTypeAdapter(LocalDate.class, new GsonLocalDateAdapter())
                .create();

        return new Retrofit.Builder()
                .baseUrl(AppConfig.API_BASE_URL)
                .client(client)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();
@HTTP(method = "DELETE", path = "selfie/{publicId}/action/1", hasBody = true)
Observable<SimpleResponseModel> unlike(
    @Path("publicId") String publicId,
    @Body AuthorisedRequestModel model
);
                NetworkHelper
                .getRetrofit()
                .create(SelfieService.class)
                .unlike(selfieModel.getPublicId(), new AuthorisedRequestModel())
                .subscribeOn(Schedulers.io())

                .subscribe(new CustomSubscriber<SimpleResponseModel>() {
                    @Override
                    public void onNext(SimpleResponseModel simpleResponseModel) {
                        ErrorHelper.handleServerError(simpleResponseModel);
                    }
                });
HTTP FAILED: java.io.IOException: unexpected end of stream on okhttp3.Address@c6ec992c
Caused by: java.io.EOFException: \n not found: size=0 content=…
 at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:215)
 at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:186)

共有1个答案

冯霖
2023-03-14

这是个问题。您可以在GitHub上看到它:https://github.com/square/okhttp/issues/1517

 类似资料:
  • 目前,我使用的是Android改版2.0.0-beta4和OKHTTP3。我正在执行定义如下的@PUT请求: endpoint在这里:http://apps:8080/EmployeeSkillsService/EmployeeSkill。下面是PUT请求的日志输出: 我已经在Chrome上的Postman中验证了这个带有这些头和有效负载的endpoint多次工作。然而,当我使用reverfit时

  • 我试图将Hibernate与我的spring应用程序上下文联系起来。我正在成功地连接SessionFactory,但当我尝试调用getCurrentSession时,我看到以下错误: 我正在配置数据源会话工厂和事务管理器。我还指定了事务处理将是注释驱动的 下面是我的上下文XML: null 下面是我发现错误的类: 当这被称为sessionFactory时不是null,而是带有上述错误的错误。如果我

  • 我有一个带有Spring(5.7.2)Web/Security的REST API项目。 我只有一个表,它包含一个id和一个名称。 当我删除光盘时,我的DiscsService会 当我需要插入或更新时,我会: 我了解到,当您希望在同一事务中使用值(提交之前)时,将使用,并且将同步并清空SQL缓存。 在我的例子中,我看到我在数据库中插入/更新或删除了值。 我应该使用flush()(我认为不应该),但可

  • 问题内容: 我的主页上的所有页面上都有一个函数,我希望它可以通过某些jQuery Ajax方法运行。 我现在有一些这样的代码 jQuery的 母版页中的HTML 我的主VB中的Asp.Net代码 当前,除非我将Web方法移至VB页面,否则此方法不起作用 有什么办法可以改变这部分吗 要使用母版页功能? 我尝试将其更改为 但这只是给我一个404错误 有任何想法吗? 提前致谢 问题答案: 您的网络方法代

  • 我有一个烧瓶服务器运行在http://127.0.0.1:5000和一个vuejs前端运行http://localhost:8080我已经做了api,并用postman测试了它,一切都如预期的那样工作:( > 将请求发布到/登录- (将请求发送至/登录)- 烧瓶API代码: 登录。vue: 指数vue 当我使用邮递员登录时,我得到的响应为;当我使用邮递员获取url/索引时,我得到响应。数据但当我使

  • 我想了解更多这句话发现Grails留档: 如果测试涉及证明测试对象以特定方式与合作者交互,则使用模拟。如果协作者以某种方式的行为暴露了测试主题中的特定行为,那么该行为的结果就是您正在测试的,请使用存根