java多态反序列化

kmbjn2e3  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(324)

我试图在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做出一般性的响应,并处理这两个场景。

brccelvz

brccelvz1#

您可以引用嵌套的jsonMap而不是多态性。要Map嵌套的json值,请参阅此处的链接

相关问题