在 Spring Boot 控制器中反序列化 json 时 List<object> null

我在 Spring Boot 应用程序中遇到控制器问题。当我在控制器上进行调用(URI/调用)时,对象列表始终为空。


{

    "code": "TEST",

    "name": "TEST NAME",

    "groupe": "A1",

    "list": [

        {"type":"web", "link":"https://google.com/"},

        {"type":"web", "link":"https://google2.com/"}

    ]

}

@PostMapping(value="/call")

    public ResponseEntity<Void> ajouterEnvironnement(@RequestBody First first) {

        first.getCode() // value : "TEST"

        first.getList() // value : null

}

public class First {


    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private int id;

    private String code;

    private String name;

    private String groupe;

    @OneToMany(mappedBy = "first", cascade = CascadeType.ALL, fetch = FetchType.EAGER)

    private List<Second> list;

}

public class Second {


    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private int id;

    private String type;

    private String link;

    @ManyToOne(fetch = FetchType.EAGER)

    @JoinColumn(name = "first_id", nullable = false)

    private First first;

}


慕后森
浏览 43回答 1
1回答

浮云间

通过写这个问题,我找到了解决方案,所以我分享一下:使用@JsonManagedReference和@JsonBackReference注释。public class First {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private int id;    private String code;    private String name;    private String groupe;    @OneToMany(mappedBy = "first", cascade = CascadeType.ALL, fetch = FetchType.EAGER)    @JsonManagedReference    private List<Second> listLiens;}public class Second {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private int id;    private String type;    private String link;    @ManyToOne(fetch = FetchType.EAGER)    @JsonBackReference    @JoinColumn(name = "first_id", nullable = false)    private First first;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java