@JsonIgnore не работает в приложении весенней загрузки - PullRequest
0 голосов
/ 01 апреля 2019

Я создаю RESTful веб-сервис.Все работает хорошо, за исключением случаев, когда я добавляю аннотацию @JsonIgnore в один из моих классов, который имеет отношение @OneToMany.Я получаю:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: не найден сериализатор для класса org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor и не обнаружены свойства для создания BeanSerializer (дляизбегать исключений, отключить SerializationFeature.FAIL_ON_EMPTY_BEANS) (через цепочку ссылок: java.util.ArrayList [0] -> com.packt.cardatabase.domain.Car ["owner"] -> com.packt.cardatabase.domain.Owner $ HibernateProxy$ AcLDWRSD ["hibernateLazyInitializer"])

Мой pom.xml:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.5.0</version>
    </dependency>
</dependencies>

Мой контроллер:

@RestController
public class CarController {
    @Autowired
    private CarRepository repository;

    @RequestMapping("/cars")
    public Iterable<Car> getCars(){
       return repository.findAll();
    }
}

Моя сущность:

@Entity
@Table(name = "owner")
public class Owner {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long ownerid;
    private String firstname, lastname;
    @OneToMany(cascade =CascadeType.ALL, mappedBy="owner")

    @JsonIgnore <---- My problem
    private List<Car> cars;

    public Owner() {
    }
        ....
}

Я могу получить сериализованные данные из базы данных, когда удаляю @JsonIgnore.Но не в формате JSON, когда я добавляю аннотацию.

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