三國紛爭(zhēng)
2021-04-26 17:41:22
我正在嘗試使用@JsonView注釋從Spring中的對(duì)象反序列化幾個(gè)字段。但是,我將注釋添加到我的方法中,而不是反序列化指定字段,而是返回一個(gè)空對(duì)象。這是我的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 = "")而且,實(shí)現(xiàn)@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 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
我遇到了同樣的問題,只有在將字段移出構(gòu)造函數(shù)并移到類主體中之后,JsonView才起作用。在這種情況下,您不會(huì)使用數(shù)據(jù)類,但仍可以將equals哈希碼toString委派給私有內(nèi)部數(shù)據(jù)類。

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
確保您的類路徑上具有用于Kotlin的Jackson模塊,并且已在ObjectMapper實(shí)例上注冊(cè)。
添加回答
舉報(bào)
0/150
提交
取消