栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

RestEasy-Jax-rs-在响应正文中发送自定义对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RestEasy-Jax-rs-在响应正文中发送自定义对象

为了从Resteasy资源方法返回数据,您需要根据要返回的内容执行几项操作。

您需要使用注释对资源方法进行

@Produces
注释,以告诉Resteasy该方法的返回类型应该是什么。例如,以下方法根据
客户端在Accept标头中的要求返回XML和JSON 。

@GET@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})public Response foo(){     PersonObj obj = new PersonObj();     //Do something...     return Response.ok().entity(obj).build();}

Resteasy默认支持封送以下数据类型:

如果您希望支持的数据类型在此表中,那么这意味着JAXB支持它们,而您所需要做的就是PersonObj
用JAXB注释对您的类进行注释,以告诉它如何编组和解组对象。

@XmlRootElement@XmlType(propOrder = {"firstName", "lastName"})public class PersonObj{  private String firstName;  private String lastName;  //Getters and Setters Removed For Brevity}

如果不立即支持您的内容类型怎么办?
如果您具有要编组的自定义内容类型,则需要创建一个MessageBodyWriter实现,该实现将告诉Resteasy
如何编组该类型。

Provider@Produces({"application/x-mycustomtype"})public class MyCustomTypeMessageBodyWriter implements MessageBodyWriter {}

只需实现该接口并像其他任何提供者一样注册它即可。

如果您想读取自定义内容类型,则需要实现一个自定义

MessageBodyReader
来处理传入的类型,并将其添加到
@Consumes
您的接收方法的注释中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438319.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号