java - 如何记录契约(Contract)最后(通过 jaxb schemagen)web 服务?

标签 java web-services jakarta-ee jaxb schemagen

我开发了一个网络服务,我的用户当然希望看到文档。我更愿意简单地记录我的代码,要么使用 javadoc 注释,要么使用显式注释,例如

@XmlComment("This is used to [blah blah]")
@XmlElement(name = "referenceDate", namespace = NAMESPACE, type = Date.class)
public void setReferenceDate(Date referenceDate) {
    this.referenceDate = referenceDate;
}

/**
 * This is used to [blah blah]
 */
@XmlElement(name = "referenceDate", namespace = NAMESPACE, type = Date.class)
public void setReferenceDate(Date referenceDate) {
    this.referenceDate = referenceDate;
}

不支持以上内容,如下所示:

  • JAXB-273 - 2006 年请求从注释中创建 xs:documentation 元素
  • JAXB-369 - 2007 年要求从评论中制作 xs:documentation 元素
  • SO-470001 - “你不能那样做”stackoverflow 问题

所以我知道我不能使用上面的内容来评论我的服务。但是......当然还有一种非手动方式可以做到这一点。我必须为此手工制作所有 XML 吗?如果 是答案,为什么没有更多关注将此功能纳入 JAXB?对于企业级 Web 服务来说似乎是绝对必要的,对吧?

最佳答案

你是对的,它很差。这些天最关注的是契约(Contract)优先,所以我想它没有被优先考虑。您可以使用 XSLT 从单独的 XML 文档向 WSDL 添加注释。不如从 Java 代码生成它好,但总比没有好。这是一个古老的帖子做的http://www.gridlab.org/WorkPackages/wp-5/guide/wsdltips.html

关于java - 如何记录契约(Contract)最后(通过 jaxb schemagen)web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127661/

相关文章:

java - 接收序列化对象时出现 "javax.servlet.ServletException: java.lang.RuntimeException: No ClassLoaders found for:"异常

java - Internet Explorer 中的货币格式日元有额外符号 "ï¿¥"

java - 我将如何浓缩这些方法?

java - CSV 到双数组列表

php - 在特定条件下重做最后一个 foreach 循环命令

java - 黑莓应用安全

jakarta-ee - 处理 Java EE 和 java.endorsed.dirs 的任何最佳实践?

java - 实例 void 方法的模拟无需调用 'expectLastCall' 方法即可工作

java - 在一台计算机上测试大量 Web 服务

java性能前沿: ref in for loop