Spring Data Rest - как вернуть проекции с вызовами метода SPEL? - PullRequest
0 голосов
/ 27 февраля 2020

Это очень конкретный случай c.

Используя SpEL, вы можете сделать

@Projection(name = "some", types = {User.class})
public interface SomeProjection {
    @Value("#{target.serviceItems}")
    Set<ServiceItemPayslipProjection> getServiceItems();
}

и вернуть ему указанное поле c в виде вложенной проекции. Все отлично работает

Но когда вы вызываете метод внутри SpEL, проекция игнорируется

@Projection(name = "some", types = {User.class})
    public interface SomeProjection {
        @Value("#{target.processServiceItems()}")
        Set<ServiceItemPayslipProjection> getServiceItems();
    }

processServiceItems вызывается правильно, но возвращенный JSON больше не в формате ServiceItemPayslipProjection, но базовый исходный объект (ServiceItem) вместо этого.

Есть ли обходной путь?

...