- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Enunciate 在 Maven 项目中生成 REST API 文档。
Artifact maven-enunciate-plugin
生成 Web API 文档,但它忽略了 Spring 注释,例如:@Secured
(来自 spring-security)
我尝试使用支持 spring maven-enunciate-spring-plugin
的 Maven Artifact 生成文档,但它甚至不生成 Web API 文档。
有没有办法配置 enunciate 或使用另一个 enunciate maven 插件,以便在 Enunciate 生成的文档中识别和提及来自 Spring 的注释?
最佳答案
没关系,我通过“将自定义皮肤应用到 Enunctiate 的文档”(http://docs.codehaus.org/display/ENUNCIATE/Applying+a+Custom+Skin+to+Enunciate%27s+Documentation)设法解决了这个问题
我修改了 docs.xml.fmt
以及 enunciate-docs
的 docs.fmt
,所以 '@Secured' 注解是认可。
不幸的是,对于 docs.xml.fmt
,没有像我们为 docs.fmt
那样进行自定义的简洁方法。所以,我不得不用这些修改后的文件打包自己。
我引用了@Deprecated(java.lang.Deprecated)是如何处理的,遵循了类似的方法。
在 docs.fmt
文件中,将此 block 添加到 isDeprecated
的类似功能 block 下方
[#function isSecured element]
[#return (getTagValues(element, "secured")?size > 0)/]
[/#function]
现在,
就在这个 block 下面:
[#if isDeprecated(resource)]
<p class="alert">This resource has been deprecated.</p>
[/#if]
添加另一个 if block
[#if isSecured(resource)]
<p class="note">This resource is available only to these roles:
[#assign securedTags = getTagValues(resource, "secured") /]
[#if securedTags?size > 0]
${securedTags[0]}
[/#if]
[#list resource.parent.annotations as tag]
${tag}
[/#list]
</p>
[/#if]
现在,在 docs.xml.fmt
文件中,就在下面:
[#if resource.parent.annotations["java.lang.Deprecated"]??]
<tag name="deprecated"/>
[/#if]
添加以下 block
[#if resource.parent.annotations["org.springframework.security.access.annotation.Secured"]??]
<tag name="secured">
[#list resource.parent.annotations["org.springframework.security.access.annotation.Secured"]["value"] as roles]
<![CDATA[${roles}]]>
[/#list]
</tag>
[/#if]
关于spring - 阐述 Spring 注解 API 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17448136/
我正在使用 Enunciate 在 Maven 项目中生成 REST API 文档。 Artifact maven-enunciate-plugin 生成 Web API 文档,但它忽略了 Sprin
在提问之前,让我先解释一下我的理解和看法。 仅通过重写我们无法实现多态性,除非有向上转换。由于它只能在运行时看到,人们可能将其命名为运行时多态性。 (我不反对将多态性称为运行时多态性) 我反对将方法重
我是一名优秀的程序员,十分优秀!