春天的休息。将Bean的属性映射为嵌套的JSON格式。

问题描述 投票:0回答:1

我的Spring REST控制器需要映射一个像这样的对象参数。

{
    "batchId": 43091,
    "domain": "XX",
    "code": "XXX",
    "effectiveDate": "2020-02-13",
    "status": "Y",
    "result": [{"ruleName":"name",...]}]
}

我不知道该如何用DTO来转换这个数据 到目前为止,我有的东西看起来是这样的。

@Data
@NoArgsConstructor
@EqualsAndHashCode
public class ValidationResult {
    private String result;
    private String status;
    private String batchId;
    private String domain;
    private String code;
    private String effectiveDate;
}

但是... result,其中包含嵌入的JSON,总是空的。我并不关心这个JSON被映射,因为我把它作为JSON类型存储在数据库(Postgresql)中。但我需要将它声明为什么Java类型才能让控制器转换它?我试着把它变成一个 javax.json.JsonObject但失败了。

json spring spring-boot spring-restcontroller
1个回答
0
投票

对于这些json输入,我们总是将其映射到特定的类。也就是说,在你的例子中,结果可以是一个类,它本身就包含给定的字段 "ruleName "和它们的类型。然后你的Validaton Result包含一个私有的Result结果。如果命名惯例是正确的,使用的映射器将能够转换和映射响应到类和它的属性。

© www.soinside.com 2019 - 2024. All rights reserved.