Я работаю в API отдыха, используя Spring boot. когда я хотел вернуть свою сущность из конечной точки, я понял, что свойства отличаются от того, что мне нужно в моем ответе, поэтому я попытался использовать Model Mapper для возврата DTO.
Моя сущность выглядит так:
public class RuleEntity {
private String ruleId;
private String bankDecision;
private String aggregatorFunctionType;
private String limitOperatorType;
private double limitRule;
private Integer windowMinutes;
private Integer layer;
private String expressionRule;
private String status;
private List<GroupingKeyName> groupingKeyNames;
private List<RuleFilter> ruleFilters;
}
И DTO, который мне нужен, должен быть таким:
public class RuleDTO {
private String ruleId;
private String bankDecision;
private String aggregatorFunctionType;
private String limitOperatorType;
private double limitRule;
private Integer windowMinutes;
private Integer layer;
private String expressionRule;
private String status;
private List<String> groupingKeyNames;
private List<String> ruleFilters;
}
Единственное изменение состоит в том, что последние два списки состоят из строки, а не объекта
Объекты groupingKeyNames и ruleFilters имеют имя и идентификатор, и мне нужно только имя в списке DTO, поэтому это список строк
Я пробовал использовать Model Mapper следующим образом:
ModelMapper modelMapper = new ModelMapper();
RuleSetModel ruleSetModel = modelMapper.map(ruleSetEntity, RuleSetModel.class);
он работает, со всеми свойствами, но в списках он возвращает что-то вроде:
groupingKeyNames=[GroupingKeyName(groupingKeyId=1, name=cardHash)], ruleFilters=[RuleFilter(ruleFilterId=1, name=status)]
Что я могу сделать, чтобы я получил Результат такой:
groupingKeyNames=[cardHash], ruleFilters=[status]
Заранее спасибо!