这个问题只发生在这个控制器上,因为我在模型中添加了一个自我关系。我在其他帖子和谷歌中阅读和搜索,任何解决方案似乎都有效。我尝试设置@JsonIdentityInfo,添加@JsonBackReference 和@JsonManagedReference,颠倒这个标签的顺序,将消耗添加到 rest 方法,但一切正常模型:@Entity@JsonIdentityInfo(  generator = ObjectIdGenerators.PropertyGenerator.class,   property = "code")@Table (name = "EP7_TRS_CODIGOS")public class Code implements Serializable {    private static final long serialVersionUID = 2L;    @Id    @Column (name = "COD_CODIGO")    private String code;    @Column (name = "DES_CODIGO")    private String description;    @Column (name = "COD_TIPO")    private String type;    @JsonManagedReference    @ManyToOne    @JoinColumn (name = "ID_ORIGEN", referencedColumnName = "ID_ORIGEN")    private Origin origin;    @JsonBackReference    @ManyToOne    @JoinColumn (name="COD_CODIGO_OBJ", referencedColumnName = "COD_CODIGO")    private Code parent;    @JsonManagedReference    @OneToMany (mappedBy = "parent", fetch = FetchType.LAZY)    private List<Code> sons;控制器:@PostMapping(value = "/code",    consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,    produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})public ResponseEntity<Code> saveOrUpdateCode (@RequestHeader HttpHeaders httpHeaders, @RequestBody Code code){    logger.info(">>>> Entra en el controlador saveOrUpdateCode");    if (httpHeaders == null || !authorized(httpHeaders)) {        logger.error(">>>> Error de autentificacion");        return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);    }     return new ResponseEntity<>(cs.save(code), HttpStatus.CREATED);}
                    
                    
                1 回答
 
                    
                    
                            饮歌长啸
                            
                                
                            
                        
                        
                                                
                    TA贡献1951条经验 获得超3个赞
您需要在发送 post 请求时添加Content-type带有值的标头application/json。另外,你应该@JsonManagedReference从Origin课堂上移除。
添加回答
举报
0/150
	提交
		取消
	