gpt4 book ai didi

java - 当服务器返回错误时,使用 Immutables 进行改造会引发运行时异常

转载 作者:行者123 更新时间:2023-12-01 09:54:22 24 4
gpt4 key购买 nike

如果响应成功,一切正常,但是当我从服务器收到 101 错误时,会抛出运行时异常:“无法调用 public ... TestResponse() with no args”,问题显然是该 json 无法反序列化,但是当我收到错误响应时,如何使用错误对象而不是“TestResponse”?

改造界面:

@Headers("Accept: application/json")
@POST("api")
Observable<TestResponse> test();

响应对象:

@Value.Immutable()
@Gson.TypeAdapters
public abstract class TestResponse {
public abstract String success();
}

响应成功json:

{"success" : "response successful"}

响应错误 json:

[{"error":{"type":101,"description":"not authorized"}}]

最佳答案

您必须扩展改造回调类并编写自定义回调以进行错误处理。在您的自定义回调类中,您可以将 errorBody 反序列化为您想要的任何对象类型。这个tutorial关于如何使用它进行错误处理有一个很好的解释。

关于java - 当服务器返回错误时,使用 Immutables 进行改造会引发运行时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37362302/

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