如何解决受 Bean Validation 2.0 注释限制的模式生成
我想使用 Bean Validation 2.0 JSR-380 注释(或至少 JSR-303)为soap web 服务实现合同最后的方法,我想用maven 从带注释的java 类生成xsd 文件。目前我使用 schemagen
插件的 org.codehaus.mojo:jaxb2-maven-plugin:2.5.0
目标来生成架构定义,但 JSR-380 注释被忽略,我找不到任何 maven 插件或配置来达到预期的结果。
我曾经采用契约拳方法,没有任何问题,org.codehaus.mojo:jaxb2-maven-plugin:2.5.0
插件 xjc
目标和来自 -XJSR303Annotations
模块的额外 com.github.krasa:krasa-jaxb-tools:1.8
参数。如我所料,生成的 java 类有 @NotNull、@Size、@Pattern 等注释。
我已经注释了这样的java类:
@XmlAccessorType(XmlAccesstype.FIELD)
@XmlType(name = "SampleRequest",namespace = "com/stackoverflow/sample")
@XmlRootElement(name = "sampleRequest",namespace = "com/stackoverflow/sample")
public class SampleRequest {
@Pattern(regexp = "[A-Z]{3}-[0-9]{3}")
private String licensePlateNumber;
// getter/setter
}
我想要实现的是带有相应 <restriction>
标签的输出 xsd。
所以我期待这样的输出:
<xs:simpleType name="LicensePlateType">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{3}-[0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="SampleRequest">
<xs:sequence>
<xs:element minOccurs="0" name="licensePlateNumber" type="LicensePlateType"/>
</xs:sequence>
</xs:complexType>
有谁知道我的问题的解决方案,或者我必须编写一个自定义的 maven 插件?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。