-1

我正在开发一个 RESTFUL Web 服务器,它有一些由 android 客户端使用的 API REST。这是我第一次完成 API REST,所以我遵循了几个指南来完成它。现在,当客户端发出 GET 请求以获取某些内容时,服务器以 JSON 格式返回数据,但不返回附加信息。现在我正在制作 android 应用程序,我知道这种类型的管理不好,因为我无法处理来自应用程序的 401、404 等错误以向用户显示错误(我使用改造 2 和协程) . 有人可以向我解释从服务器做出响应的最佳方法吗?我知道我必须创建一个像Response这样的通用类有一个代码和一个Error_Message,我必须为我的所有响应扩展这个类,以添加客户端所需的数据。但在那之后我如何处理来自我的应用程序的响应?我不能创建两个不同的类(一个用于错误,一个用于成功响应)。有人能帮我吗?

4

1 回答 1

0

您提出的解决方案类型不是 REST。过去的一个常见做法是只使用 200 个成功响应并发布所有内容。按照惯例,REST API 使用状态代码来传达含义。您还应该始终考虑错误 500,因为这发生并且您的应用程序应该处理它。

您也可能对此感兴趣:Microsoft best-practices api-design

我知道这种类型的管理不好,因为我无法处理来自应用程序的 401、404 等错误以向用户显示错误

我不明白你为什么不能这样做。有非常好的代码来处理请求。

@Override
public void onResponse(Call<YourModel> call, Response<YourModel> response) {
    // All the 20x responses
    if (response.isSuccessful()) {

    } else if (response.code() == 401) {

    } else {

    }
}

您也可以使用拦截器,如果您使用 OkHttp在此处查看拦截器代码

于 2021-02-24T07:32:18.513 回答