2012-05-21 65 views
2

有兩個類似的問題要求herehere,但沒有給出足夠的答案。有沒有人用Enunciate來爲RestEasy服務生成WADL?

我發現我可以使用Enunciate爲RestEasy服務創建WADL。所以我試了一下。

在我服務,我有一個方法映射到HTTP GET裏面我是用類似下面

... 
import org.jboss.resteasy.annotations.Form; 
... 
@GET 
@Produces({MediaType.APPLICATION_JSON}) 
@Transactional(readOnly = true) 
public WebServicePageResponse<D> find(@Form WebServicePageRequest<E> wsPageRequest) 
{ 
    ... 
} 

闡明它產生的WADL之前,對服務方法進行驗證,並拋出這個錯誤和失敗

"A resource method that is mapped to HTTP GET must not specify an entity parameter." 

@Form是一個RestEasy特定註釋,而Enunciate只能解析JSR-311註釋。

有沒有人做過類似的事情?是否有人成功使用了Enunciate來爲RestEasy服務生成文檔?有沒有其他的選擇?

回答

0

我發現這個最好的解決方案是刪除@Form註釋,並使用單獨的註釋來代替(至少Encyclopedia開始支持這個)。

0

看起來像是一個新功能的好建議。 Tracking it here

這可能是一個尷尬的解決方法,但你有沒有嘗試過使用signature override

+0

謝謝,這看起來像一個整潔的把戲。但現在,我剛剛刪除了@Form註釋,並用它封裝的單個註釋替換它。 – gresdiplitude

+0

我已將我的投票添加到JIRA中 - @Form功能在RESTEasy中非常有用,缺少對它的支持意味着我們無法使用Enunciate。 – user1180316

相關問題