📜  如何在 Android 中处理 API 响应(成功错误)?(1)

📅  最后修改于: 2023-12-03 14:52:12.734000             🧑  作者: Mango

如何在 Android 中处理 API 响应(成功/错误)?

在 Android 开发中,要想与 API 交互通常需要通过网络请求来获取响应数据。在获取这些响应数据之后,我们需要对响应数据进行处理。本文将介绍如何在 Android 应用中处理 API 响应,包括成功和错误响应。

处理成功响应

在 Android 开发中,我们通常会使用 Retrofit 这样的网络请求库来处理 API 响应。使用 Retrofit,我们可以将响应数据解析成 Java 对象。因此,在处理成功响应时,我们需要检查响应状态码,如果状态码为200,就说明响应成功,我们可以直接将响应数据解析成 Java 对象。

下面是一个例子,演示如何使用 Retrofit 处理成功响应:

public interface ApiService {
    @GET("/api/example")
    Call<ExampleResponse> getExampleResponse();
}

ApiService apiService = retrofit.create(ApiService.class);
Call<ExampleResponse> call = apiService.getExampleResponse();
call.enqueue(new Callback<ExampleResponse>() {
    @Override
    public void onResponse(Call<ExampleResponse> call, Response<ExampleResponse> response) {
        if (response.isSuccessful()) {
            ExampleResponse exampleResponse = response.body();
            // 处理成功响应
        } else {
            // 处理错误响应
        }
    }

    @Override
    public void onFailure(Call<ExampleResponse> call, Throwable t) {
        // 处理错误响应
    }
});
处理错误响应

当 API 响应出现错误时,响应状态码不是200。在这些情况下,我们需要检查响应状态码和响应体,以确定 API 响应出现了什么问题。

下面是一个例子,演示如何处理错误响应:

public interface ApiService {
    @GET("/api/example")
    Call<ExampleResponse> getExampleResponse();
}

ApiService apiService = retrofit.create(ApiService.class);
Call<ExampleResponse> call = apiService.getExampleResponse();
call.enqueue(new Callback<ExampleResponse>() {
    @Override
    public void onResponse(Call<ExampleResponse> call, Response<ExampleResponse> response) {
        if (response.isSuccessful()) {
            // 处理成功响应
        } else {
            int statusCode = response.code();
            String errorMessage = "";
            try {
                errorMessage = response.errorBody().string();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 处理错误响应
        }
    }

    @Override
    public void onFailure(Call<ExampleResponse> call, Throwable t) {
        // 处理错误响应
    }
});

在上面的例子中,如果响应状态码不是200,我们根据响应状态码和响应体获取响应错误信息。通过这种方式,我们可以更好地了解 API 的响应情况,并采取相应的措施。

结论

在 Android 开发中,处理 API 响应是非常重要的,因为这会影响到我们的应用程序的可靠性和健壮性。无论是处理成功响应还是错误响应,我们都应该谨慎地处理。通过引入 Retrofit 这样的网络请求库,我们可以轻松地处理 API 响应,并确保我们的应用程序在任何情况下都是可靠和健壮的。