我正在使用 JAXB+Jettison 提供多格式 RESTful(无架构)服务。
@XmlTransient
注释对于那些我根本不想序列化的属性很有用。但这还不够。
如何在运行时从编码(marshal)处理中排除特定字段?
我可以以某种方式预初始化编码(marshal)处理上下文并定义要排除的字段吗?
我需要根据当前用户的角色有选择地序列化对象字段。
最佳答案
我之前也做过类似的事情,在一个层次结构中拥有多个 DTO(从瘦到全胖),每个 DTO 都有不同的 JAXB 映射。然而,这仅适用于少数角色。
MOXy确实允许运行时绑定(bind)更改,似乎适合您的用例。
但是,请注意篡改您的服务契约(Contract),它可能会导致奇怪的实时错误,而这些错误很难追踪。
关于java - JAXB:如何在运行时从编码中排除特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914233/