Spring Rest: отображение свойства bean-компонента как вложенного JSON - PullRequest
0 голосов
/ 08 мая 2020

Моему контроллеру 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, всегда имеет значение null. Меня не волнует отображение этого JSON, поскольку я сохраняю его как тип JSON в базе данных (Postgresql). Но какой тип Java мне нужно объявить, чтобы контроллер преобразовал его? Я попытался сделать его javax.json.JsonObject, но это не удалось.

1 Ответ

0 голосов
/ 08 мая 2020

Что мы всегда делаем с этими json входными данными, так это сопоставляем их с указанными c классами. Это означает, что в вашем случае результатом может быть класс, который сам содержит данные поля "ruleName" и их типы. Тогда ваш результат Validaton будет содержать частный результат Result. Если соглашения об именах правильны, используемый картограф сможет преобразовать и сопоставить ответ с классом и его свойствами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...