如何使用JAXRS和JAXB设置Restlet服务器?

Naf*_*Kay 2 rest jax-rs jaxb restlet

我一直在互联网上寻找一个如何做到这一点的例子.我只想设置一个REST服务器,它自动将对象与XML进行序列化.我只是尝试提供一个服务器,只有在用户登录后才能使用户登录,注销和访问XML对象列表.获得一个简单的示例应用程序需要什么?

我没有理解Restlet库的工作方式,而且我完全不习惯使用JAXB和JAXRS.我参与了一个使用这些库的项目,但仅从客户的角度来看.

Thi*_*ier 7

Restlet可以看作是JAXRS实现.地址提供了一个简单的教程:http: //wiki.restlet.org/docs_1.1/13-restlet/28-restlet/57-restlet.html

您需要在类路径中放入以下jar文件.这些jar文件可以在restlet发行版中找到(例如2.0.5版):

  • javax.ws.rs.jar
  • org.restlet.ext.jaxrs.jar
  • org.restlet.jar

正如您在教程中看到的,您实现了JAXRS资源和应用程序.然后有两种不同的方式来启动整个Web应用程序:

  • 使用内置的Restlet服务器
  • 使用JavaEE Web容器

为了集成JAXB支持,首先需要了解Restlet的表示支持是如何工作的.REST请求/响应的内容包含在表示中.支持不同的格式,这是开放和可扩展的.该表示支持可以与转换器实体和转换器服务一起使用.

转换器实体负责将元素转换为另一个元素.例如,如果您传递Java实例并且希望将其转换为XML以在REST响应中发回.转换器服务负责以智能方式处理此转换,基于媒体类型和支持内容协商(在Accept和Content-Type标头中定义的内容类型).转换器在类路径中存在时自动注册.

对于JAXB,让我们在您的类路径中放入以下jar:

  • 的activation.jar
  • JAXB-api.jar文件
  • jsr173_1.0_api.jar

让我们举一个例子:

  • 您在Restlet JAXRS应用程序上发送REST请求.您可以使用值application/xml指定Accept标头,因为您希望响应内容具有XML内容.

  • 在您的资源中,请求的相应JAXRS方法和所需的内容类型返回一个对象.Restlet将自动检查是否有已注册的转换器来处理Java对象到XML之间的转换.如果添加了Restlet JAXB扩展,则在Java对象使用JAXB注释进行批注时,它将使用它.

  • JAXB转换器将使用转换器使用JAXB生成XML输出.

  • 响应将发送回客户端.

否则,您想要实现什么样的安全性?用户/密码基于?

希望它清楚,它会有所帮助!蒂埃里