gpt4 book ai didi

java - 使用注释的 JAXB 验证

转载 作者:IT老高 更新时间:2023-10-28 21:15:59 25 4
gpt4 key购买 nike

如果我有一个简单的类,例如:-

@XmlRootElement
public class MyClass
{
@XmlAttribute(required=true)
private String myattribute
}

是否可以在没有 xml 架构的情况下验证相应的 xml 文档,即仅使用注释?

最佳答案

好问题。据我所知,required属性是XJC在找到非可选模式类型时生成的,我认为它也被模式生成器使用。但在运行时,它不用于任何用途,仅用于文档注释。

您可以考虑的一件事是 JAXB 运行时的 callback options .在这种情况下,您可以在 MyClass 上定义一个 afterUnmarshal() 方法,该方法以编程方式验证对象的状态,如果不喜欢则抛出异常。有关其他选项,请参阅上面的链接,包括注册单独的 validator 类。

话虽如此,对模式进行验证确实是最好的方法。如果你没有,你应该考虑写一个。 schemagen工具可以从您的对象模型生成模式,然后您可以对其进行修改以添加您喜欢的任何约束。希望 schemagen 会从您的 required=true 类字段生成强制模式元素。

关于java - 使用注释的 JAXB 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2365644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com