2011-03-11 48 views
2

我有一個REST Web服務返回一個「javax.ws.rs.core.Response」實體。當我運行字正腔圓,它不能確定輸出類型,所以在生成WADL響應留空:闡明不能確定javax.ws.rs.core.Response的輸出類型

如果代碼是這樣的:

@GET 
@Path("/webservice") 
@Produces({"application/xml"}) 
@TypeHint(myClass.class) 
javax.ws.rs.core.Response methodCall(... 

的WADL寫着:

... 
    <wadl:representation mediaType="application/xml"/> 
</wadl:response> 

不是:

... 
    <wadl:representation mediaType="application/xml" element="ns1:myClass" xmlns:ns1="http://pathTo/schema"/> 
</wadl:response> 

在這裏反正得到闡明認識到返回響應類型?

回答

4

是的。在該方法上使用@ org.codehaus.enunciate.jaxrs.TypeHint註釋來給出關於輸出類型的提示。

+0

我在我的方法和「import org.codehaus.enunciate.jaxrs.TypeHint;」中添加了「@TypeHint(my.class)」。在我的pom.xml中添加了以下xml,但它似乎沒有更改輸出。我需要做更多嗎? org.codehaus.enunciate 字正腔圓核心的註解 1.21.1 TERACytE 2011-03-13 18:02:40

+0

所以,我們已經得到了測試,證明@TypeHint註釋工作。您可以在此處看到測試模塊: https://svn.codehaus.org/enunciate/trunk/enunciate/integration-tests/jersey-storage – 2011-03-14 15:45:07

+0

當@TypeHint中標識的類爲isonic時,可能會遇到問題外部來自它所在的maven模塊。(參見http://jira.codehaus.org/browse/ENUNCIATE-535?focusedCommentId=260103#action_260103)。我將要訪問Ryan的答案。 – TERACytE 2011-03-17 16:37:07