Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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/5/spring-mvc/2.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
Java json序列化中缺少jackson spring字段_Java_Spring Mvc_Spring Boot_Jackson - Fatal编程技术网

Java json序列化中缺少jackson spring字段

Java json序列化中缺少jackson spring字段,java,spring-mvc,spring-boot,jackson,Java,Spring Mvc,Spring Boot,Jackson,此问题类的json序列化中缺少Action字段。我知道我正在查询的问题有一些操作,因为我在控制器中返回问题对象之前查看了它 @Entity @Table @Data public class Question { @Id @GeneratedValue @Column private int id; @Column private String text; @Column private double weight;

此问题类的json序列化中缺少Action字段。我知道我正在查询的问题有一些操作,因为我在控制器中返回问题对象之前查看了它

@Entity
@Table
@Data
public class Question {

    @Id
    @GeneratedValue
    @Column
    private int id;

    @Column
    private String text;

    @Column
    private double weight;

    @Enumerated(EnumType.STRING)
    private TeamType teamType;

    @Column
    private Category cat;

    @ManyToOne
    @JsonBackReference(value="act-ques")
    private Action action;

    @OneToMany
    @JsonManagedReference(value="ques-resps")
    private Set<Response> response;

}
@实体
@桌子
@资料
公开课问题{
@身份证
@生成值
@纵队
私有int-id;
@纵队
私有字符串文本;
@纵队
私人双倍重量;
@枚举(EnumType.STRING)
私人团队类型团队类型;
@纵队
私家猫;
@许多酮
@JsonBackReference(value=“act ques”)
私人行动;
@独身癖
@JsonManagedReference(value=“ques resps”)
私有集响应;
}
这是动作课

@Entity
@Table
@Data
public class Action {

    @Id
    @Column
    @GeneratedValue
    private Long id;

    @Enumerated(EnumType.STRING)
    private ActionType actionType;

    @Enumerated(EnumType.STRING)
    private Category cat;

    @OneToMany
    @Fetch(FetchMode.JOIN)
    @JsonManagedReference(value="act-ques")
    private Set<Question> questions;
}
@实体
@桌子
@资料
公共集体诉讼{
@身份证
@纵队
@生成值
私人长id;
@枚举(EnumType.STRING)
私有ActionType ActionType;
@枚举(EnumType.STRING)
私家猫;
@独身癖
@Fetch(FetchMode.JOIN)
@JsonManagedReference(value=“act ques”)
私人提问;
}
我有一个ActionController,它为类返回一个json字符串。为什么json中缺少Action类

这是ActionController

@RestController
@RequestMapping("api/actions")
public class ActionController {

    @Autowired
    private ActionService actService;

    @GetMapping
    public List<Action> getActions(@RequestParam Map<String, Object> params) {
        List<Action> actions = actService.getAll();
        return actions;
    }
}
@RestController
@请求映射(“api/操作”)
公共类ActionController{
@自动连线
私人行动服务;
@GetMapping
公共列表getActions(@RequestParam-Map-params){
List actions=actService.getAll();
返回动作;
}
}
这是问题控制器。当我在其中放置断点时,我可以看到问题对象中的操作,但是返回的json没有相应的字段

@RestController
@RequestMapping("api/questions")
public class QuestionController {

    @Autowired
    private QuestionService questionService;

    @GetMapping
    public List<Question> getQuestions(@RequestParam Map<String, Object> params) {
        List<Question> questions = questionService.getQuestions(params);
        return questions;
    }

}
@RestController
@请求映射(“api/问题”)
公共类问题控制器{
@自动连线
私人提问服务;
@GetMapping
公共列表getQuestions(@RequestParam-Map-params){
列表问题=questionService.getQuestions(参数);
回答问题;
}
}

需要在父表实体中指定一个
joinColumns=@JoinColumn(name=“ID”)
需要在父表实体中指定一个
joinColumns=@JoinColumn(name=“ID”)
,这是因为您正在使用

@JsonBackReference(value="act-ques")
private Action action;
请参考这个

@JsonManagedReference
是引用的前向部分–正常序列化的部分。
@JsonBackReference
是引用的后面部分–它将从序列化中省略


这是因为你正在使用

@JsonBackReference(value="act-ques")
private Action action;
请参考这个

@JsonManagedReference
是引用的前向部分–正常序列化的部分。
@JsonBackReference
是引用的后面部分–它将从序列化中省略


显示实际代码,而不是一些不相关的(暂时)片段。需要在父表entityIts中指定joinColumns=@JoinColumn(name=“ID”),因为您使用的是
@JsonBackReference(value=“act ques”)
@JsonManagedReference
是引用的前向部分–正常序列化的部分
@JsonBackReference
是引用的后面部分–它将从序列化中省略。显示实际代码,而不是一些不相关的(暂时)片段。需要在父表entityIts中指定一个joinColumns=@JoinColumn(name=“ID”),因为您使用的是
@JsonBackReference(value=“act ques”)
@JsonManagedReference
是引用的前向部分–正常序列化的部分
@JsonBackReference
是引用的后面部分–它将从序列化中省略。这不是必须诚实的。这不是必须诚实的