Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 为什么一些相关实体没有序列化为JSON?_Spring_Spring Boot - Fatal编程技术网

Spring 为什么一些相关实体没有序列化为JSON?

Spring 为什么一些相关实体没有序列化为JSON?,spring,spring-boot,Spring,Spring Boot,在spring boot中,我有两个实体: package interv.Entities; import com.fasterxml.jackson.annotation.JsonBackReference; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFor

在spring boot中,我有两个实体:

package interv.Entities;

import com.fasterxml.jackson.annotation.JsonBackReference;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Intervention implements Serializable {

            @Id @GeneratedValue
            private Long Id;

            private String objet;

            @DateTimeFormat(pattern = "dd/MM/yyyy")
            private Date date;

            @Column(columnDefinition="BOOLEAN DEFAULT false")
            private boolean valid;



            @ManyToOne
            @JoinColumn(name="id_Project")
            @JsonBackReference(value="projet-intervention")
            private Project project;


            @ManyToOne
            @JoinColumn(name = "Id_AppUser")
            @JsonBackReference(value="appuser-intervention")
            private AppUser appUser;

            @ManyToOne
            @JoinColumn(name ="Id_AppDevlopper")
            @JsonBackReference(value="appuser-intervention-devlopper")
            private AppUser app ;

}
此外,项目实体:

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import javax.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Project implements Serializable{

        @Id @GeneratedValue
        private long id;
        private String intitule;
        private String description;


        @ManyToOne
        @JoinColumn(name = "Id_appUser")
        @JsonBackReference(value="projet-appuser")
        private AppUser appUser;

        @OneToMany(mappedBy = "project")
        @Fetch(value=FetchMode.SUBSELECT)
        @JsonManagedReference(value="projet-intervention")
        private Collection<Intervention> interventions = new ArrayList<Intervention>();



        public void addToIntervention(Intervention intervention) { this.interventions.add(intervention);}


 }
import com.fasterxml.jackson.annotation.JsonBackReference;
导入com.fasterxml.jackson.annotation.JsonIgnoreProperties;
导入com.fasterxml.jackson.annotation.JsonManagedReference;
导入lombok.allargsconstuctor;
导入龙目数据;
导入lombok.noargsconstuctor;
导入org.hibernate.annotations.Fetch;
导入org.hibernate.annotations.FetchMode;
导入javax.persistence.*;
导入java.io.Serializable;
导入java.util.ArrayList;
导入java.util.Collection;
@实体
@资料
@AllArgsConstructor
@诺尔格构装师
公共类项目实现可序列化{
@Id@GeneratedValue
私人长id;
私有字符串初始化;
私有字符串描述;
@许多酮
@JoinColumn(name=“Id\u appUser”)
@JsonBackReference(value=“projet-appuser”)
私有应用程序用户应用程序用户;
@OneToMany(mappedBy=“项目”)
@Fetch(值=FetchMode.SUBSELECT)
@JsonManagedReference(value=“项目干预”)
私人收藏干预=新建ArrayList();
public void addToIntervention(干预){this.interventions.add(干预);}
}
在angular5中,我尝试使用spring的rest控制器通过以下查询获取特定用户的干预页面:

@Query("select i from Intervention i where i.appUser = :userApp")
    public Page<Intervention> interventionsOfClient(@Param("userApp") AppUser userApp  , Pageable pageable);
@Query(“从干预i中选择i,其中i.appUser=:userApp”)
客户端的公共页面干预(@Param(“userApp”)AppUser userApp,可分页;
rest控制器:

@RequestMapping(value="clientsintervention",method= RequestMethod.GET)
    public Page<Intervention> getClientsIntervention(
            @RequestParam(name="page",defaultValue = "0") int page,
            @RequestParam(name="size",defaultValue = "5") int size,
            @RequestParam(name="id",defaultValue ="0") Long id
    ){

         AppUser appUser = userRepo.getOne(id);

         return interventionRepo.interventionsOfClient(appUser,new PageRequest(page,size));
    }
@RequestMapping(value=“clientsintervation”,method=RequestMethod.GET)
公共页GetClientsEntervation(
@RequestParam(name=“page”,defaultValue=“0”)int page,
@RequestParam(name=“size”,defaultValue=“5”)int size,
@RequestParam(name=“id”,defaultValue=“0”)长id
){
AppUser AppUser=userRepo.getOne(id);
返回interferencerepo.interferencesofclient(appUser,newpagerequest(page,size));
}
此方法返回一个干预页面,每个干预包含{id,object,date,valid},并且没有我期望的、我希望在前端页面中使用的对象项目


有没有办法解决这个问题

你有我可以研究的git回购协议吗?Spring boot还是angular?@Lealcelderio:Ah non我没有:/@Antoniosss:I两者都用,但我面临的问题是angular5我无法使用存储库中的查询获取项目的所有元素。spring boot发送的日志(数据)仅显示id对象日期和有效性供启动器使用:使用http侦听器向每个请求添加身份验证头。那个冗长的http呼叫让我的眼睛很痛;)