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

标签 java rest jersey jax-rs wadl

我开发了一个简单的 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 block 。

这里看起来有很好的记录 6.6 - Jersey User Guide

参见示例 6.6

关于java - 如何在 Jersey 生成的 WADL 文件的响应中包含 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18461112/

相关文章:

rest - 在 Karate DSL 中,如何为有效的 POST 请求解析不受支持的媒体类型

java - 在同一 Jersey 服务中解码不同对象

apache - com.sun.ws.rs.ext.RuntimeDelegateImpl 错误

java - Jersey 在部署为 JAR 时找不到资源,但可以在 Eclipse 中使用

java - 为什么我的 JVM 堆大小从 2gigs 猛增到 8gigs?

java - 在初始化之前打印字段似乎在初始化之后打印它

javascript - 安全性大问题(JWT Node JS),一个 token 用于所有访问

java - 两个链表求和时如何余数进1?

java - 使用 Chef 通过代理在 Raspberry PI 3 上安装 Open JDK 8

api - 使用 websockets 设计 API 的最佳方式是什么?