【发布时间】:2020-12-04 16:59:30
【问题描述】:
我的代码正在运行,一切都很好,但令我困扰的是,对于每一个响应,我都有两个类。
这就是 json 的样子,有一个主对象,它的响应对象总是不同的。
object{
...
...
response{
...
...
}
}
这里是带有属性的类,所以当有身份验证操作 api 调用时,我会得到一个对象,里面有另一个响应,它将显示下面提到的信息(accountID,authToken)
public class AuthResponse implements IResponse {
@JsonProperty
private String accountID;
@JsonProperty
private String authToken;
// IResponse just have a validation method
}
这是一个带有 AuthResponse 的包装器,称为响应,以便杰克逊可以找到它
public class NowOSAuthResponse extends NowOSResponse {
@JsonProperty
private AuthResponse response;
//can be replaced with @Getter
@Override
public IResponse getResponse() {
return response;
}
}
最后这里是包含抽象接口的主要对象,因此每个响应都有自己的返回对象
public abstract class NowOSResponse {
@JsonProperty
private String version;
@JsonProperty
private String operation;
@JsonProperty
private String status;
public abstract IResponse getResponse();
所以我想知道是否有办法在不创建两个类的情况下返回响应对象。提前谢谢你
【问题讨论】:
标签: java jackson jackson-databind