Search code examples
javarestdocumentationjavadocmaven-javadoc-plugin

Enunciate reporting - How to Exclude few APIs and include few APIs from a same class


I would like to exclude few API methods in a class from Enunciate documentation.

Is there a way to achieve it using enunciate ?

Thanks in Advance


Solution

  • Enunciate 1.27 has a feature "Facet"(http://docs.codehaus.org/display/ENUNCIATE/Enunciate+API+Facets) which helps in achieving the above. 
    Requires following changes
    
    1.) pom.xml
    Added the plugin
    <plugin>
    <groupId>org.codehaus.enunciate</groupId>
    <artifactId>maven-enunciate-plugin</artifactId>
    <version>1.27</version>
    <executions>
        <execution>
            <goals>
                <goal>assemble</goal>
            </goals>
        </execution>
    </executions>
    </plugin>
    
    
    2.) In the API Method you want to exclude, add Facet annotation like below
    
        @GET
        @Path("/{memberId}")
        @Produces(APPLICATION_JSON)
        @Facet(name = "external")
    
    
    3.) Change enunciate xml to refer to 1.27 enunciate xsd
    
    4.) Add Facets tag in your enunciate xml
    
       <facets>
        <exclude name ="external"/>
       </facets>
    
    
    Result - Enunciate report excludes selected APIs methods in class "A" and includes the rest.