Mam problemy z kodem Spring i bardzo staram się znaleźć rozwiązanie.

Chciałbym przeanalizować moje wartości od dto do modelu i odwrotnie z różnymi typami parametrów.

Oto SC: UserModel:

public Class UserModel {
private int userId;
private Date dob;
//setter getter
}

UserDto:

public Class UserDto {
private String userId;
private String dob;
//setter getter
}

Próbowałem wielu metod, takich jak używanie ObjectMapper i PropertyUtilsBean, i nadal wyświetla błąd.

Ktoś z Was ma najlepsze rozwiązanie? Proszę pomóż

-1
thebe.alfarisi 14 listopad 2018, 10:56

1 odpowiedź

Najlepsza odpowiedź

U mnie działa to rozwiązanie:

import org.apache.commons.beanutils.*;
import org.apache.commons.beanutils.converters.DateConverter;

import java.util.Date;

public class Main {

    public static void main(String[] args) throws Exception {
        DateConverter converter = new DateConverter();
        converter.setPattern("yyyy-MM-dd");

        ConvertUtilsBean convertUtilsBean = new ConvertUtilsBean();
        convertUtilsBean.register(converter, Date.class);

        BeanUtilsBean beanUtilsBean = new BeanUtilsBean(convertUtilsBean, new PropertyUtilsBean());

        UserDto dto = new UserDto("42", "2018-11-14");
        System.out.println("dto.getUserId() = " + dto.getUserId());
        System.out.println("dto.getDob() = " + dto.getDob());

        UserModel model = new UserModel();
        beanUtilsBean.copyProperties(model, dto);

        System.out.println("model.getUserId() = " + model.getUserId());
        System.out.println("model.getDob() = " + model.getDob());
    }

}

Pełny przykładowy kod źródłowy znajdziesz tutaj.

0
ygor 14 listopad 2018, 14:51