0

我正在使用 Enunciate 为多模块 Maven 项目中的 RestEasy 服务生成文档。在尝试获取响应对象属性的描述时,我在文档生成方面遇到了一些问题。

例如,如果我的服务定义为:

@GET
@Path("access/account")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
Account getAccount(@Context HttpServletRequest hsr, @Context UriInfo info) throws RestApiException;

生成文档时,不会生成属性描述。

name                type    description
idProfile           int     (no documentation provided)
idLanguage          int     (no documentation provided)
idRegion            int     (no documentation provided)
userType            string  (no documentation provided) 

在所有响应对象中,我只得到(没有提供文档)。一个重要的想法是,所有响应类都位于服务所在的不同 Maven 模块中。响应类位于 UTIL 模块中。这些服务位于 EJB 模块中。

问题的原因肯定是多模块 Maven 项目,因为如果我在 EJB 模块中定义一个响应对象,该类也是,文档是完美的(也生成了描述)。

这里描述了原因和解决方案: https ://github.com/stoicflame/enunciate/wiki/Multi-Module-Projects-%28Version-1%29

尽管如此,我仍然不知道该做什么以及在不同的 pom(EJB 和 UTIL)中设置什么来解决我的问题。

任何帮助都将不胜感激。

4

2 回答 2

1

那么您是否尝试过按照Multi-Module ProjectsAccount中的描述“导入”该类?

<enunciate ...>
  <api-import pattern="com.mycompany.Account" />
  <api-import pattern="com.mycompany.*" />
  ...
</enunciate>
于 2013-08-08T18:28:07.033 回答
0

问题解决了 !!!

我不得不:

  1. 像 Ryan 说的那样导入类
  2. 在所有响应对象所在的UTIL类的pom.xml中添加maven-source-plugin
  3. 添加描述以获取引用类中的方法

结果是:

JSON
property    type    description
idProfile   int     Description B.
idLanguage  int     Description A.
idRegion    int     Description E.
userType    string  Description D.
于 2013-08-09T10:47:39.023 回答