您的位置:首页 > 编程语言 > Java开发

SpringMVC接收xml/json参数的demo

2017-07-14 14:01 323 查看

一.请求方

<xml>
<toUserName><![CDATA[1]]></toUserName>
<fromUserName><![CDATA[2]]></fromUserName>
<createTime>3</createTime>
<msgType><![CDATA[4]]></msgType>
<event><![CDATA[5]]></event>
<deviceType><![CDATA[6]]></deviceType>
<deviceID><![CDATA[7]]></deviceID>
<content><![CDATA[8]]></content>
<sessionID>9</sessionID>
<openID><![CDATA[10]]></openID>
</xml>

2.服务器

1.封装bean类

@XmlRootElement(name="xml")
public class BundingBean {       //
private String toUserName; 	//	是 	接收方(公众号)的user name
private String fromUserName; //	是 	发送方(微信用户)的user name
private String createTime; 	//	是 	消息创建时间,消息后台生成
private String msgType;		//是 	消息类型:device_event
private String event;		//	是 	事件类型,取值为bind/unbind bind:绑定设备 unbind:解除绑定
private String deviceType; 	//	是 	设备类型,目前为“公众账号原始ID”
private String eeviceID; 	//	是 	设备ID,第三方提供
private String content; 		//是 	当Event为bind时,Content字段存放二维码中
// 	第三方追加的自定义的数据
// 	详情见1.5章节 获取设备二维码
// 	或 1.11.1章节 API:获取deviceid和二维码
private String sessionID; 	//	 是 	微信客户端生成的session id,用于request和response对应,
//	因此响应中该字段第三方需要原封不变的带回
private String openID; 		//	是 	 微信账号的OpenID
getter/setter/toString

}


2.controller层

@Controller
public class GongzhongController {
@RequestMapping(value="/xmlPrase", headers = {"content-type=application/xml"})
public void addUser(@RequestBody BundingBean xml) {
System.out.println(xml);
}
}

3.结果

System.out.println(xml);的结果是:
BundingBean [toUserName=1, fromUserName=2, createTime=3, msgType=4, event=5, deviceType=6, deviceID=7, content=8, sessionID=9, openID=10]
这就封装到对象里面了.

4.需要注意的地方:

1.本xml的根是<xml>,所以要在bean的上方加注解是name=xml

@XmlRootElement(name="xml")
如果根是其他的,那么必须改成其他的

2.controller的注解是

@RequestMapping(value="/xmlPrase", headers = {"content-type=application/xml"})必须要注写是xml格式的数据,而且请求方也必须content-type=application/xml,那么才可以通过xmlPrase.action访问就可以封装到bean里了
3.json和这个类似,比葫芦画瓢即可,只是不需要bean类上加注解了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc json