cxf+spring自定义restful接口返回消息
来源:互联网 发布:啊哈算法2 pdf 完整版 编辑:程序博客网 时间:2024/05/20 16:41
因项目需要,需要对外提供webservice接口。之前也没有写过这种接口,不知道用那种框架好。上网搜索了一堆材料,最终决定使用cxf+spring实现restful风格的方式。
接口的返回数据,我准备支持xml和json两种格式,根据请求url的后缀(.json或.xml)返回相应格式的数据。我自己定义了返回数据格式:
{ "errcode": 0, "errmsg": "success", "list": [ { "uuid": "dea53c6ca7d011e6802eb82a72db6d4d", "name": "分组3啦啦啦啦啦" } ]}对应的xml格式:
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
/**
* 自定义webservice错误返回信息
* @author xiechengsuan
* 创建日期 2016.11.10
*/
@XmlRootElement(name = "result")
@XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
public class ResponseInfo<T> {
private int errcode;
private String errmsg;
private List<T> list;
public int getErrcode() {
return errcode;
}
public void setErrcode(int errcode) {
this.errcode = errcode;
}
public String getErrmsg() {
return errmsg;
}
public void setErrmsg(String errmsg) {
this.errmsg = errmsg;
}
public Object getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}
com.sun.istack.SAXException2: class com.visionvera.cms.bean.AVO以及其任何超类对此上下文都是未知的。
原因:这个list需要支持多种不同的数据类型(泛型),然而list解析的时候却无法找到具体类型与xml的对应关系。
解决方法:使用@XmlSeeAlso把类改成:
import java.util.List;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
/**
* 自定义webservice错误返回信息
* @author xiechengsuan
* 创建日期 2016.11.10
*/
@XmlRootElement(name = "result")
@XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
@XmlSeeAlso({AVO.class, BVO.class})
public class ResponseInfo<T> {
private int errcode;
private String errmsg;
private List<T> list;
public int getErrcode() {
return errcode;
}
public void setErrcode(int errcode) {
this.errcode = errcode;
}
public String getErrmsg() {
return errmsg;
}
public void setErrmsg(String errmsg) {
this.errmsg = errmsg;
}
public Object getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}
这样,解析的时候就能找到对应的xml映射关系了。
- cxf+spring自定义restful接口返回消息
- cxf+spring自定义restful接口返回消息
- cxf 与spring集成,发布restful接口,返回json数据
- CXF+Spring搭建Restful接口服务
- cxf InInterceptor中断返回自定义消息
- CXF Restful 返回xml
- CXF发布restful接口
- 使用CXF+spring+restful创建一个web的接口项目
- 使用CXF+spring+restful创建一个web的接口项目
- 使用CXF+spring+restful创建一个web的接口项目
- 使用CXF+spring+restful创建一个web的接口项目
- Spring CXF Restful
- spring maven cxf jackson restful
- cxf+spring发布RESTful服务
- cxf自定义返回错误信息
- Restful CXF Spring 几种整合一(发布wsdl形式接口)
- spring+cxf简单实现restful web serivce
- CXF+Spring+JAXB+Json构建Restful服务
- XJOI NOIP16提高组赛前训练17 T2:StopAllSounds(DP)
- 微信小程序(五):轮播
- 百度地图集成报错UnsatisfiedLinkError处理
- 深度优先遍历的非递归
- ICMP是:Internet 控制信息协议(ICMP)是 IP 组的一个整合部分,没有具体的端口号
- cxf+spring自定义restful接口返回消息
- 算法学习-排序链表中去重
- 易飞ERP 9.0.12注册机
- 基于FFMPEG和SDL的音视频播放器
- 【原创】比赛
- Android 6.0运行时权限的申请使用及EasyPermissions的使用
- 1100. Mars Numbers (20)
- ffmpeg 视频拼接
- eclipse tomcat 内存不够解决