gpt4 book ai didi

java - JAX-RS 注释 : Better to put on Interfaces or Classes?

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:52 24 4
gpt4 key购买 nike

我处于 REST 实现的早期阶段,最近了解到我们可以将 JAX-RS 注释放在我们的 Java 服务接口(interface)而不是类实现上。

在我看来,这可能会产生一个干净的类文件,但也可能导致开发人员不得不不断地在文件之间混淆。

每种方法的优缺点是什么?

最佳答案

你应该把它放在一个界面中。相反,我的实践要求我将它放入一个接口(interface)中,因为我的客户端和服务器端共享相同的 jax-rs 定义。

我倾向于将 jax-rs 用于 REST-RPC。

REST 的原因是允许 Web 服务 URL API 可由任何编程框架提供服务和“客户端”。

jax-rs 的使用限制了我们在服务器端使用 java。

将 jax-rs 用于 REST-RPC 限制了我们在服务器端和客户端都使用 java。

什么是 REST-RPC?

在解释的不太复杂的态度中,RPC 是一种在客户端调用函数/方法的方式,当通过网络发送时,由服务器提供服务,因此服务器端存在相同的函数/方法。

RestEasy 允许您在客户端使用 jax-rs 定义来调用服务器端提供的相同功能。

RestyGWT 也一样,对接口(interface)进行一些修改以指定回调方法将允许您(某种程度上)在客户端和服务器端使用 jax-rs 定义。您只需编写一个脚本,将返回类型移动到回调方法的类型参数。

您可能会质疑为什么限制我们在双方都执行 java?这不会破坏 REST 生活中的一个目的吗?我认为 jax-rs REST-RPC 是实现和测试 jax-rs 服务的便捷途径。如果你想实现一个 jax-rs 服务,你最初可能会在两端都使用 Java 来实现。然后,当您的服务启动后,您就可以开始编写 PHP 或 Python 客户端。

在接口(interface)文件中编写 jax-rs 将允许您发布用于客户端操作的接口(interface)。对于 REST-RPC 尤其如此。但是,您可以对 jax-rs 定义运行 enunciate 以将您的 Web 服务 API 发布给非 Java 程序员。

我对这个主题有些漫无边际...... http://h2g2java.blessedgeek.com/2011/11/gwt-with-jax-rs-aka-rpcrest-part-0.html .

关于java - JAX-RS 注释 : Better to put on Interfaces or Classes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8774912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com