2013-06-04 3 views
0

내 REST API를 문서화하려면 enunciate를 사용하고 있습니다. Im은 제대로 문서를 생성하고 꽤 오랫동안 사용 해왔다.enunciate doc 도구에서 휴식 방법을 거의 사용하지 않음

내 문제는 이제 .. 여러 종점 메서드가있는 서비스 클래스가 거의 없습니다.

public interface UserLoginService { 
//This method should be DOcumented 
@Path("/login") 
@POST 
@Consumes({"application/xml", "application/json"}) 
@Produces({"application/xml", "application/json"}) 
@Transactional(
readOnly=false, 
rollbackForClassName="MyExceptionClass", 
propagation=Propagation.REQUIRED 
) 
@Deprecated 
public UserDetails performLogin(LoginObj loginobj); 


//This method should be skipped 

@Path("/logout") 
@GET 
@Consumes({"application/xml", "application/json"}) 
@Produces({"application/xml", "application/json"}) 
@Transactional(
readOnly=false, 
rollbackForClassName="MyException", 
propagation=Propagation.REQUIRED 
) 
public UserDetails logout(@QueryParam("userid") String userid); 
} 

이러한 서비스 방법에서는 일부는 공개이고 일부는 내부적으로 사용됩니다. 공개적으로 사용되는 Rest 메서드 만 doc로 생성하려고했습니다. 나는 enunciate couldnt가 어쨌든 몇 가지 메소드를 건너 뛰기를 찾았지만 클래스를 제외하기 위해 API 클래스를 제외했다. 이것이 가능한 방법이 있습니까? 나는 별도의 클래스를 만들 때만 bcoz 문서화하고 싶지 않다. enunciate dosent가 기존의 enunciate javadoc에서 쉽게 변경 될 수있는 다른 doc 도구를 작성하면 작성됩니다.

답변

0

이전 버전의 enunciate를 사용하고있었습니다. 최신 버전에는 주석이 @ExcludeFromDocumentation 있습니다. 비록 내가이 주석을 보았음에도 불구하고 이것은 Jaxb objs에만 적용 가능하다는 문서로 작성되었습니다. 나는 그들의 문제에서 제기 된 결함을 그들의 jira에서 보았다. 이 주석은 이제 클래스/메소드에 사용될 수 있습니다. REST 메서드에 대해 사용되는 경우이 메서드는 문서화되지 않습니다.

1

FYI 버전 1.27에는 Enunciate Facets이라는 개념이 포함되어있어 API의 패싯을 더 유연하게 배제 할 수 있습니다.