2013-07-03 3 views
3

maven 프로젝트에서 Enuniate를 사용하여 REST API 문서를 생성하고 있습니다.Spring annotations API 문서 활성화

이슈를 maven-enunciate-plugin 웹 API 문서를 생성하지만 같은 봄 주석을 무시 :

내가 봄 지원 maven-enunciate-spring-plugin을 가지고 받는다는 이슈와 문서를 생성 시도 (봄 보안에서) @Secured하지만, 심지어 웹 API를 생성하지 않습니다 docs.

Enunciate를 구성하거나 다른 enunciate maven 플러그인을 사용하여 Spring의 주석을 인식하고 Enunciate가 생성 한 설명서에 언급되는 방법이 있습니까?

답변

4

신경 끄시을, 나는이 문제를 해결하기 위해 관리 그 '@Secured'주석이 인식되도록 "Enunctiate의 문서를 사용자 정의 스킨을 적용"(http://docs.codehaus.org/display/ENUNCIATE/Applying+a+Custom+Skin+to+Enunciate%27s+Documentation)

나는, docs.xml.fmt뿐만 아니라 enunciate-docsdocs.fmt를 수정했습니다.

불행히도 docs.xml.fmt의 경우 docs.fmt에 대한 맞춤 설정 방법이 없습니다. 그래서, 나는 수정 된 파일들로 자신을 꾸려야했다.

@Deprecated (java.lang.Deprecated)가 처리되고 이와 유사한 방법을 따르는 방법을 참조했습니다.

docs.fmt 파일에서 바로 지금 isDeprecated

[#function isSecured element] 
    [#return (getTagValues(element, "secured")?size > 0)/] 
[/#function] 

의 유사한 기능 블록 아래에이 블록을 추가 바로이 블록 아래

:

블록 경우

[#if isDeprecated(resource)] 
<p class="alert">This resource has been deprecated.</p> 
[/#if] 

다른 추가

[#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] 

추가 다음 블록

[#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] 
1

전 두렵습니다. Enunciate는 해당 기능을 추가 할 수 있지만 해당 Spring 주석을 인식하지 못합니다. 그것에 대해 open up a request에 오신 것을 환영합니다.

합니다 ( maven-enunciate-spring-plugin 그냥 당신에 대해 물어있는 기능을 포함하지 않습니다, 백 엔드 런타임에 봄에 담아서 와이어를하는 데 사용됩니다.)

+1

이미 유사한 기능 요청이 있다고 생각 : http://jira.codehaus.org/browse/ENUNCIATE -724 – lihsus

+0

및이 문제와 관련하여 여하튼 : http://jira.codehaus.org/browse/ENUNCIATE-618 – lihsus