這個問題只發生在這個控制器上,因為我在模型中添加了一個自我關系。我在其他帖子和谷歌中閱讀和搜索,任何解決方案似乎都有效。我嘗試設置@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
提交
取消