我有一个使用Kotlin的SpringBoot项目,我正在使用Gson来读写JSON。我试图通过自定义注解来注解一些远离JSON的字段:
data class Order(
val external: Boolean,
val orderNumber: String,
val companyName: String,
@Exclude val vatCode: String,
)
字符串
以下是我对战略的定义:
private final var strategy: ExclusionStrategy = object : ExclusionStrategy {
override fun shouldSkipClass(clazz: Class<*>?): Boolean {
return false
}
override fun shouldSkipField(field: FieldAttributes): Boolean {
return field.getAnnotation(Exclude::class.java) != null
}
}
型
在这里实现:
val gson = GsonBuilder().setExclusionStrategies(strategy).create()
型
但是它不起作用。似乎注解不能被策略函数识别/读取。可能是什么原因导致了这个问题?
1条答案
按热度按时间cotxawn71#
我花了一些时间才弄清楚这一点,因为我对Java和Kotlin都是新手。似乎要让你的annotation类在java中显示出来,你必须向annotation本身添加几个annotation。例如:
字符串