2010-02-12 81 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