java - 在没有 pojo 类的情况下处理 Retrofit 状态代码

标签 java android retrofit

我从服务器收到以下响应:状态代码 201 Created。 没有实际的响应(返回的对象等),因此不需要创建 POJO 类。

所以,我不知道在不创建 POJO 类的情况下应该如何处理此状态代码。是否有任何选项可以在不使用 POJO 类的情况下编写代码?

最佳答案

Retrofit API 有 Response可以封装您的响应的类。

只要您不想理会响应数据,您就可以将您的服务实现为:

interface CustomService {
    @GET("whatever")
    Call<Response<Void>> getAll();

    // Or using RxJava:
    @GET("whatever")
    Single<Response<Void>> getRxAll();
}

然后实现你的回调:

private Callback<Response<Void>> responseHandler = new Callback<Response<Void>>() {
  @Override
  public void onResponse(Call<Response<Void>> call, Response<Response<Void>> response) {
    final int code = response.code();
    // TODO: Do whatever you want with the response code.
  }

  @Override
  public void onFailure(Call<Response<Void>> call, Throwable t) {
      // TODO: Handle failure.
  }
}

或响应式(Reactive)消费者:

private Consumer<Response<Void>> responseRxHandler = new Consumer<Response<Void>>() {
  @Override
  public void accept(Response<Void> response) throws Exception {
      final int responseCode = response.code();
      // TODO: Do whatever you want with the response code.
  }
};

调试结果:enter image description here

关于java - 在没有 pojo 类的情况下处理 Retrofit 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43798263/

相关文章:

java - 使用反射调用外部 JAR/CLASS 上包含 Hibernate 事务的方法 (Java EE)

java - OSGi : Is there a 'best way' to handle service and registers?

java - 创建可重用的 IntStreams 有用吗?如果是,怎么办?

android - Eclipse 在创建新项目/Activity 时表现不同

android - RxJava + 改造,获取列表并为每个项目添加额外信息

android - 在将其传递给调用 Activity 之前在 Retrofit 中捕获 http 响应

java - JAX-RS 是否适合作为 MVC 框架?

java - 不幸的是 MyApp 已停止。我该如何解决这个问题?

android - 从 Android Gradle 访问 Azure DevOps 变量

android - 如何使用改造从所有响应中获取 header