我試圖插入沒有成功的電話列表。我的域客戶端類@Entity public class Client {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)private Integir id;private String name;@JsonManagedReference@ManyToMany(cascade = CascadeType.ALL)@JoinTable(****)private List<Phone> phones = new ArrayList<>();**gets and sets** public Client (String name){ this.name = name; }}我的域電話課程@Entitypublic class Phone {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)private Integir id;private String number;@JsonBackReference@ManyToMany(mappedBy = "phones")private List<Client> clients = ArrayList<>();**gets and sets** public Phone(String number) { this.number = number; } }我有一個DTO客戶public class ClientDTO {private String name;private String number;private List<Phone> numbers = ArryList<>();**gets and sets** }我的服務ClientService具有此方法:public Client fromDTO (ClientDTO clientDTO) { Client c = new Client(clientDTO.getName()); for(Phone p: clientDTO.getNumbers()) { p.setNumber(x.getNumber); p.getClients().addALL(Arrys.asList(c)); c.getPhones().addAll(Arrys.asList(p)); }}如果我在郵遞員中嘗試這樣做:{ "name" : "Teste", "numbers": [ { "number" : "xxxxxx"}, { "number" : "yyyyyyy"} ]}顯示錯誤415:不支持的媒體類型如果我將ClientDTO更改為:public class ClientDTO {private String name;private String number;**gets and sets** }而我在ClientService中的方法可以:public Client fromDTO (ClientDTO clientDTO) {Client c = new Client(clientDTO.getName());Phone p = new Phone(clientDTO.getPhone());p.getClients().addAll(Arrys.asList(c));c.getPhones().addAll(Arrays.asList(p));}然后在我的郵遞員中發(fā)送:{ "name" : "Teste", "number": "xxxxx" }工作良好。我在做什么錯?
Json和數(shù)組序列化-Java Spring Boot
慕碼人8056858
2021-04-08 17:15:57