gpt4 book ai didi

java - 使用 Retrofit/GSON 如何处理有时为空而有时为空的响应

转载 作者:行者123 更新时间:2023-11-30 10:54:20 25 4
gpt4 key购买 nike

我正在使用 GSON 进行改造。我正在连接的 Web 服务有时会向客户端返回一个空的负载。我不是这样 build 的。问题在于,当 GSON 尝试解析空负载时,这会导致 json 解析异常。我怎么能处理这个?有没有办法使回调具有空模型对象?

例如服务器响应可能是“”或者它可能是:

{
"foo":{"id":"123","description":"abcd"}
}

我在 java 中也有:

@Data // This comes from lombok to generate setter,getter,no args constructor...
public class Foo{
private int id;
private String description;
}

我的 retrofit 服务如下所示:

public interface MyService{
@POST("/poorly/designed/api/foo")
void getFoo(@Header("Authorization") String auth, Callback<Foo> callback);
}

免责声明:我只是打了一个最简单的例子,如果我写的东西在语法上可能不完全正确,我可以原谅我。你明白了。

最佳答案

Retrofit 通常应该消除所有缺失值。您的代码的问题是服务器返回一个对象,其中包含 Foo 而不仅仅是 Foo。尝试添加另一个类

class FooContainer {
Foo foo;
}

然后让您的 API 调用返回一个 FooContainer 而不是 Foo

关于java - 使用 Retrofit/GSON 如何处理有时为空而有时为空的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33715504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com