问题标签 [jax-rs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JAX-RS 框架
我一直在使用 JAX-RS 参考实现(Jersey)做一些工作。我知道至少有两个其他框架(Restlet 和 Apache CXF)。
我的问题是:有没有人对这些框架进行过比较,如果有,你会推荐哪个框架,为什么?
java - 测试 JAX-RS Web 服务?
我目前正在寻找为基于JAX-RS(RESTful Web 服务的 Java API)的 Web 服务创建自动化测试的方法。
我基本上需要一种方法来向它发送某些输入并验证我是否得到了预期的响应。我更喜欢通过 JUnit 来实现,但我不确定如何实现。
您使用什么方法来测试您的 Web 服务?
更新:正如 entzik 指出的,将 Web 服务与业务逻辑分离允许我对业务逻辑进行单元测试。但是,我还想测试正确的 HTTP 状态代码等。
java - 没有架构的 Java REST 客户端
目标
雅虎 HotJobs Resumé Search REST API的 Java 客户端。
背景
我习惯于为 SOAP API 编写 Web 服务客户端,其中wsimport会生成代理存根,而您正在运行。但这是一个 REST API,对我来说是新的。
细节
- REST API
- 没有WADL
- 没有正式的 XML 模式(XSD 或 DTD 文件)。有示例 XML 请求/响应对。
- 未提供示例代码
进步
我看了问题Rest clients for Java? ,但是那里的自动化解决方案假定您同时提供服务器和客户端,并在 POJO 上调用 JAXB 以生成模式和 REST API。
使用Jersey(一个JAX-RS实现),我已经能够发出手动 HTTP 请求:
响应可能如下所示:
或者,它可能看起来像:
问题
java - JAX-RS/Jersey 如何自定义错误处理?
我正在使用 Jersey 学习 JAX-RS(又名 JSR-311)。我已经成功创建了一个根资源并正在使用参数:
这很好用,并且可以处理 Date(String) 构造函数理解的当前语言环境中的任何格式(如 YYYY/mm/dd 和 mm/dd/YYYY)。但是,如果我提供的值无效或无法理解,我会收到 404 响应。
例如:
如何自定义此行为?也许是不同的响应代码(可能是“400 Bad Request”)?记录错误怎么办?也许在自定义标题中添加问题描述(“错误的日期格式”)以帮助故障排除?还是返回带有详细信息的完整错误响应以及 5xx 状态代码?
java - 基于 Spring 3 (m3) 构建的 REST 完全注释服务的最低配置是什么?
我正在尝试公开一个完整的 REST 服务(由 Tomcat 托管),但无法弄清楚 Spring 3 (M3) 所需的配置是什么。
这就是(示例)服务的样子:
我的 Spring 配置如下所示(为简单起见,我省略了完整的类名):
这就是我将 Spring 配置插入 web.xml 的方式:
请注意,我正在尝试创建一个最小配置(没有额外的 servlet-config.xml 文件)。这就是我将 Dispatcher 指向内置配置的原因。
这个对吗?
启动 Tomcat 并加载所有 bean 后,我将导航到以下 URL:
而且,而不是“你好,用户!” 回复,令我沮丧的是,我在日志文件中看到以下错误:
如您所见,我当前的配置正在尝试将此请求重新路由为新请求:
知道有什么问题吗?我错过了什么?
java - 为 RESTLET Web 服务编写测试用例的最佳方法是什么?
我有一个用 Restlet 库实现的 JAX-RS Web 服务,现在我想测试它。为了做到这一点,我想通过使用模拟服务预初始化它来在我的测试中托管这个服务。
托管此类服务和执行测试调用的最佳方式是什么?
java - 为 JERSEY Web 服务编写测试用例的最佳方式是什么?
我有一个用 Jersey 库实现的 JAX-RS Web 服务,现在我想测试它。为了做到这一点,我想通过使用模拟服务预初始化它来在我的测试中托管这个服务。
托管此类服务和执行测试调用的最佳方式是什么?
java - JAX-RS 非常适合实现 REST。你用什么来调用 Java 中的 REST 服务?
理想情况下,我正在寻找类似 JAX-RS 的东西(使用注释来描述我想要调用的服务),但允许调用使用其他技术(不是 JAX-RS)实现的 REST 服务。有什么建议吗?
jersey - Jersey JAX-RS 中的异常处理/资源管理
我正在尝试在泽西岛编程 RESTful Web 应用程序时管理竞争资源(如:数据库会话)。通常我会写这样的代码:
现在有了泽西岛,我有这样的资源:
问题是我需要在 getChild() 中获取会话,但我无法确保在工作完成后正确释放它,因为我已经将控制权交还给 Web 应用程序。
Child 也需要访问会话,因此我无法将所有工作封装在一种方法中:
我无法将整个应用程序包装在 servlet 过滤器中,因为我需要来自 Jersey 级别的信息来构建我的会话。现在我可以在 MyResource 中打开它,使用常规的 servlet 过滤器来确保我总是关闭它,但是我不知道何时回滚以及何时提交会话。我可以使用 ExceptionMapper 来通知所有异常,但这需要是一个 ExceptionMapper,这看起来非常丑陋,概念上的 try/finally 分布在三个具有不同生命周期的类上,依此类推。
在泽西岛进行这种资源管理是否有“正确的方法”?我将如何确保在资源及其子位置使用它之后正确关闭例如 FileInputStream?
java - JERSEY and JAX-RS
I am trying to deploy a simplest REST service using jersey, and JAX-RS, but I am getting this error,
HTTP ERROR: 404 NOT_FOUND RequestURI=/hosting/demo/example Powered by Jetty://
Where I think I have done everything right, below is the code I am using for it.
POM.XML (only pasting the part related to jersey)
WEB.XML
My Class having @GET
The url I hit is: http://localhost/hosting/demo/example