我正在尝试使用@JsonView注释从Spring中的对象反序列化几个字段。但是,我将注释添加到我的方法中,而不是反序列化指定字段,而是返回一个空对象。这是我的POJO:@Entitydata class Album( @JsonView(View.AlbumSummary::class) val title: String, @JsonView(View.AlbumSummary::class) @ManyToMany val artists: List<Account>, val dateReleased: LocalDate, val genre: String = GENRE_NA, @OneToMany(mappedBy = "album") val songs: List<Song> = ArrayList(), val description: String = "")而且,实现@JsonView注释的方法:@JsonView(View.AlbumSummary::class)@RequestMapping("/home-recommendations/{userId}")fun getHomeRecommendations(@PathVariable userId: String): List<Recommendation> { val recommendations = ArrayList<Recommendation>() val user = accountRepository.findById(userId).get() val followingArtists = user.following.filter { it.following.isArtist } val suggestedArtists = followingArtists.shuffled().take(Random().nextInt(11) + 10) for (i in 0 until suggestedArtists.size) { val suggestedArtist = suggestedArtists[i].following val recommendedAlbums = suggestedArtist.albums.shuffled().take(Random().nextInt(6) + 10) recommendations.add(Recommendation("Because you listened to ${suggestedArtist.fullName}", Recommendation.TYPE_ALBUM, albums = recommendedAlbums)) } return recommendations}
3 回答
![?](http://img1.sycdn.imooc.com/545861c80001141e02200220-100-100.jpg)
慕神8447489
TA贡献1780条经验 获得超1个赞
我遇到了同样的问题,只有在将字段移出构造函数并移到类主体中之后,JsonView才起作用。在这种情况下,您不会使用数据类,但仍可以将equals哈希码toString委派给私有内部数据类。
添加回答
举报
0/150
提交
取消