Spring Data REST возвращает объект после создания / обновления с использованием проекции - PullRequest
1 голос
/ 23 апреля 2020

Spring Data REST имеет 2 свойства (spring.data.rest.return-body-on-create, spring.data.rest.return-body-on-update), которые по умолчанию являются истинными.

Эти свойства заставляют Spring возвращать отправленную сущность после создания / обновления с использованием POST / PUT / PATCH.

Я хочу, чтобы возвращаемая сущность использовала проекцию для возврата своих данных, поэтому я попытался отправить по этому URL: http://localhost: 8080 / MYAPP / api / people? Projection = personProjection для новых объектов, использующих POST, и по этому URL: http://localhost: 8080 / MYAPP / api / people / 1? Projection = personProjection для старых объектов, использующих PUT и PATCH.

Все испытания завершились неудачно, и я получил следующее исключение: «Целевой компонент типа com.sun.proxy. $ Proxy231 не относится к типу постоянного объекта (com .test.entities.Person) !: com.sun.proxy. $ Proxy231 "

Согласно этому вопросу: После обновления с Spring Boot 1.5 до 2.1 мы получаем целевой компонент типа com.sun. proxy. $ Proxy не относится к типу постоянной сущности * 10 16 * Кажется, что то, что я пытался сделать, было возможно в более старой версии Spring Data REST.

Так это ошибка?

Или есть обходной путь для этого поведения без необходимости получить объект снова в другом внутреннем вызове или создать собственный контроллер для представлений?

Я использую Spring Boot v2.2.6.RELEASE

Спасибо

...