2010-02-12 44 views
2

我們一直在使用澤西島爲我們的web服務,這是偉大和直接。有沒有一種方法來添加一個方法定義內的小說明註釋(可能使用像@Description註釋):添加方法評論澤西島

@GET 
@Path("/schema/classes/") 
@Produces({ APPLICATION_RDF, TEXT_N3, APPLICATION_JSON }) 
@Description("Lists all ontology classes") 
public Response getClasses() throws JobOntoException { 
    ... 
} 

而在WADL會看到這樣的信息:

<application> 
<doc jersey:generatedBy="Jersey: 1.1.5 01/20/2010 03:55 PM"/> 
    <resources base="http://localhost:9998/"> 
    <resource path="/jobonto"> 
    <resource path="/schema/classes/"> 
    <method name="GET" id="getClasses"> 
     **<description>"Lists all ontology classes"</description>** 
     <response> 
     <representation mediaType="application/rdf+xml"/> 
     <representation mediaType="text/rdf+n3"/> 
     <representation mediaType="application/json"/> 
     </response> 
    </method> 
    </resource> 
    ... 

謝謝, Renaud

回答

2

你應該儘量延長WadlGeneratorConfig

+0

這兩個鏈接都被打破;我不確定,但我想這是新地址:https://github.com/jersey/jersey-1.x/tree/master/samples/extended-wadl-webapp – lapo 2017-10-04 14:24:43

0

這是一個更好的主意。將描述放在您用於鏈接到此資源的表示中。

您在服務根目錄中使用什麼媒體類型? Xhtml對此非常有用,因爲它很容易解析,現有的鏈接支持和在瀏覽器中很好地呈現。

+0

我們使用JSON和RDF或N3。實際上,我更感興趣的是描述服務方法正在做什麼,而不是如何構造表示。 – Renaud 2010-02-15 10:18:25

0

雷諾,

您使用的是WADL提供服務描述客戶端開發?

如果是這樣,請不要因爲它違反超媒體約束而使其不是RESTful。 WADL表示客戶開發人員不能依賴的信息。 WADL實質上包含有關可用轉換的信息,超媒體約束要求在運行時發現這些信息,而不是在設計時就知道。

因此,使用WADL廣告運行時在表單意義上是好的[1],因爲您可以在不中斷任何客戶端的情況下更改WADL。

[1]雖然風格是值得商榷的 - 就個人而言,我寧願設計領域的具體介質類型

+0

謝謝Jan, 是的,我們希望使用WADL(由Jersey在飛行中生成)作爲客戶端開發的一種迷你規範/描述。 據我所知,理論上WADL不應該像這樣使用。但對於我們的項目來說,這對於客戶/消費者來說是一個足夠好的文檔。這些將不會動態/在運行時發現服務,並且服務方法可能不會經常更改。 – Renaud 2010-02-15 10:45:54

+0

是的,您可以從簡單性和可見性方面獲益。我剛剛開始將人們更多地指向什麼是和什麼不是RESTful。所以對不起,你在火線上:-) Jan – 2010-02-15 13:55:02