如何在Jersey生成的WADL文件的响应中包含HTTP状态代码



我开发了一个简单的RESTful WS,其中包含一些方法,例如,如果资源可用或参数为空,这些方法将响应不同的HTTP状态代码。

从源代码的角度来看,我发送自己的状态代码没有问题,或者结果只是200 ok。

例如,一种方法的两个可能的返回语句:

return Response.status(460).entity("Key not found").build();

return Response.ok(text,MediaType.TEXT_HTML).build();

当我查看生成的WADL文件时,可能响应的条目仅定义为以下

<method name="DELETE" id="aMethod">
  <response><representation mediaType="text/html"/>
  </response>
</method>

是否可以使用某种注释或执行其他变通方法来指示WADL生成器生成如下条目?

<response status="201">  
  [...]
</response>  

并且通常具有例如参数的多个响应。

 <response status="201">
   <param name="location" style="header" type="xsd:anyURI" required="true">  
     <link resource_type="#entry" rel="self"/>  
    </param>  
   <representation href="#entry"/>  
 </response>   

有人知道如何将这类信息集成到使用Jersey/JAX-RS生成WADL文件中吗?

您需要为代码创建一个@Provider块。

它在这里看起来有很好的记录6.6-泽西岛用户指南

参见示例6.6

最新更新