java - JAXB:如何在运行时从编码中排除特定字段?

标签 java rest jaxb cxf jettison

我正在使用 JAXB+Jettison 提供多格式 RESTful(无架构)服务。 @XmlTransient 注释对于那些我根本不想序列化的属性很有用。但这还不够。

如何在运行时从编码(marshal)处理中排除特定字段?

我可以以某种方式预初始化编码(marshal)处理上下文并定义要排除的字段吗?

我需要根据当前用户的角色有选择地序列化对象字段。

最佳答案

我之前也做过类似的事情,在一个层次结构中拥有多个 DTO(从瘦到全胖),每个 DTO 都有不同的 JAXB 映射。然而,这仅适用于少数角色。

MOXy确实允许运行时绑定(bind)更改,似乎适合您的用例。

但是,请注意篡改您的服务契约(Contract),它可能会导致奇怪的实时错误,而这些错误很难追踪。

关于java - JAXB:如何在运行时从编码中排除特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914233/

相关文章:

java - 字节数组在 JAXB 类中不起作用

java - 为什么 JAXB 不能正确处理命名空间的子元素?

windows - 从 java 代码中以编程方式查找绝对 java.exe 路径

java - 读出 Java 中 Mp3 歌曲的时间/长度/持续时间

java - 列表中的通配符 Java 字符串

ios - Swift POST 请求发送一个空体

Java 8 复杂流过滤器 And vs Or

java - 对输入流使用 AWS S3 加密

qt - QNetworkAccessManager:将响应与请求相关联

java - 在编码之前我是否需要传入要绑定(bind)在 JAXBContext 中的所有类