如何使用 Retrofit 2 处理空响应正文?

2024-01-10

最近我开始使用 Retrofit 2,并且遇到了解析空响应正文的问题。我有一个仅使用 http 代码响应的服务器,响应正文中没有任何内容。

如何仅处理有关服务器响应的元信息(标头、状态代码等)?


Edit:

正如杰克·沃顿指出的那样,

@GET("/path/to/get")
Call<Void> getMyData(/* your args here */);

与我最初的回答相比,这是最好的方法——

你可以只返回一个ResponseBody,这将绕过解析响应。

@GET("/path/to/get")
Call<ResponseBody> getMyData(/* your args here */);

然后在你的通话中,

Call<ResponseBody> dataCall = myApi.getMyData();
dataCall.enqueue(new Callback<ResponseBody>() {
    @Override
    public void onResponse(Response<ResponseBody> response) {
        // use response.code, response.headers, etc.
    }

    @Override
    public void onFailure(Throwable t) {
        // handle failure
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Retrofit 2 处理空响应正文? 的相关文章

随机推荐