0
如果我宣布一个注解类,像这样:我可以公开注释属性吗?
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ReportType {
public String reportName();
}
然后我建了一堆谁使用此批注,并提供一个“所以reportName”但显然财产所以reportName不露出像一个普通类的列表吸气。我可以在Java中访问它,但如果我使用spring返回List,那么JSON字符串中没有属性会从它转换而来。我希望看到:
{"reportName":"TPS Report"}
,而不是我看到:
{}
是否有额外的东西,我可以做的就是财产所以reportName包括在JSON得到什么?
你可以用一个简单的代码示例来解释你试图序列化的东西是什么?贴着@ @ JsonProperty'适用于大多数事情,也许对你来说也适用? – zapl
这就是我想要序列化的东西 - 使用该自定义@ReportType属性的类的实例。目标是让reportName以JSON序列化。我想我将不得不围绕它编写一个包装类来暴露获取者以使其工作。 – Trant
是的,一种方法是让代码如https://github.com/netty/netty/blob/master/transport/src/main/java/io/netty/channel/ChannelHandlerAdapter.java#L36在父类所有将该值作为常规属性公开的序列化类。无需制定者。另一种替代方案是用于'Object'的客户序列化程序,但我想这会变得很困难。最后,由于你是在春天,我可以想象你可以创建动态代理(子)类,定期公开属性,而不必继承它。 – zapl