我发现了一个类似的问题here,并尝试修复它,但它仍无效。
使用: Hibernate,Spring MVC
我在实体旅行者和地址之间存在 @ManyToMany 关系。
如果我通过自己的控制器单独创建旅行者和地址,则可以。但是,如果我尝试通过以下控制器创建旅行者和相应的地址,则会收到400错误请求错误:
@RequestMapping(value = "/travelers", method=RequestMethod.POST)
public @ResponseBody Traveler createTraveler(@RequestBody Traveler traveler, Address address) {
logger.info("Start createTraveler");
System.out.println("Received traveler: " + traveler.getLastName());
travelerDAO.save(traveler);
System.out.println("Received address: " + address.getStreet());
addressDAO.save(address);
logger.info("End createTraveler");
return traveler;
}
答案 0 :(得分:1)
如果您的JSON有效负载是具有嵌套地址的旅行者对象,则spring应自动填充Traveler的地址集合(在Jackson的帮助下)。 试试没有地址参数。
// Other lists
else if (MEDIA_ID_MUSICS_BY_TITLE.equals(parentMediaId)) {
LogHelper.d(TAG, "OnLoadChildren.TITLES");
for (String title : mMusicProvider.getSongTitles()) {
for (MediaMetadataCompat track : mMusicProvider.getMusicsBySongTitle(title)) {
String hierarchyAwareMediaID = MediaIDHelper.createMediaID(
track.getDescription().getMediaId(), MEDIA_ID_MUSICS_BY_TITLE, title);
MediaMetadataCompat trackCopy = new MediaMetadataCompat.Builder(track)
.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, hierarchyAwareMediaID)
.build();
MediaBrowserCompat.MediaItem bItem = new MediaBrowserCompat.MediaItem(
trackCopy.getDescription(), MediaBrowserCompat.MediaItem.FLAG_PLAYABLE);
mediaItems.add(bItem);
}
}
}
// More lists