Я хочу получить все проекты, где person
пусто. Каждый раз, когда я вызываю конечную точку, получаю NullPointerException
для этой линии emptyProjects.add(project);
. Может быть, это из-за JsonBackReference
?
И если так, есть ли способ получить список проектов, в которых список людей пуст?
Класс проекта:
package com.example.api.model;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@Entity
@Table(name = "project")
public class Project {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
private String name;
@ManyToMany(mappedBy = "projectList")
@JsonBackReference
private List<Person> person;
public Project(){}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Person> getPerson() {
return person;
}
public void setPerson(List<Person> person) {
this.person = person;
}
}
Метод, над которым я работаю:
@GetMapping("/project/empty")
public ResponseEntity getEmptyProjects(){
List <Project> emptyProjects = null;
for (int i = 0; i <= projectRepo.findAll().size(); i++){
Project project = projectRepo.findAll().get(i);
emptyProjects.add(project);
if (project.getPerson().isEmpty() == true){
emptyProjects.add(project);
}
}
return ResponseEntity.ok(emptyProjects);
}
Спасибо!