微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多态反序列化

如何解决多态反序列化

我试图在 spring 中调用一个 API,它有两种类型的响应结构

成功响应:

{
    "Response": {
        "SubHeader": {
            "requestUUID": "ABC12345678-9x","serviceRequestId": "HI","serviceRequestVersion": "1.0","channelId": "ABC"
        },"BodyEncrypted": "OOnpBMVUq6nw/3UesG/L0+lUT0hjOlCYJI064JaAqJvqYYY2bnENE5T/AxOBuoNPUer/W1ioIyDNpj/8cCHzXk5gXF1Cd50gMuGuErlGUogn0Z8hA05q3mygHaf1eb1EiX8qpv1Ke+7I7jw5ds7YsWPuJtXXhhkL0ShrKUimNs0B2OoQxbgH434+JEBvhRa4kcnUvZF68kmgp74k46RUGRbnMUqBEMC5iNMSm0oQgeg="
    }
}

失败响应:

{
    "httpCode": 403,"httpMessage": "Forbidden","errorCode": "B001007","moreinformation": "Unable to fetch details"
}

假客户端:

fun generateDetails(
            @RequestHeader clientId: String,@RequestBody body: RequestDto
    ): ResponseDto

任何人都可以帮助我如何制作DTO,以便在两种情况下都能处理响应。我尝试使用多态,但似乎没有上班。我对使用多态反序列化感到困惑。基本上,我想做一个通用的响应 DTO 并处理这两种情况。

解决方法

您可以引用嵌套的 JSON 映射而不是多态。要映射嵌套的 json 值,请参阅链接 here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。