本文介紹bboss mvc接收和響應xml格式資料的方法
1.首先需要在bboss-mvc.xml檔案中配置bboss mvc處理xml封包的插件XMLHttpMessageConverte:
<property name="httpMessageConverters">
<list>
<property class="org.frameworkset.http.converter.json.MappingJacksonHttpMessageConverter"/>
<property class="org.frameworkset.http.converter.XMLHttpMessageConverter"/>
<property class="org.frameworkset.http.converter.StringHttpMessageConverter"/>
</list>
</property>
org.frameworkset.http.converter.XMLHttpMessageConverter就是bboss mvc處理xml封包的插件實作類,可以通過在請求參數前加RequestBody 注解進行擷取請求體重的xml封包,響應xml可以通過在傳回值前面添加@ResponseBody(datatype="xml")注解 實作;xml處理插件可以将請求體中的xml封包轉換為字元串、po對象類型的資料,也可以将傳回的po對象或者list等集合對象轉換為xml響應封包傳回。
2.接收xml和響應xml的方法:
接收和響應字元串xml封包
public @ResponseBody(datatype="xml") String echo(@RequestBody String xml)
{
System.out.println(xml);
return xml;
}
接收和響應字元串po對象封包
public @ResponseBody(datatype="xml") List<PO> echo(@RequestBody PO xml)
{
List<PO> ret = new ArrayList<PO>();
ret.add(xml);
return ret ;
}
bboss mvc采用xstream和JAXB兩種方式來實作xml和對象互相轉,如果po對象類添加了注解javax.xml.bind.annotation.XmlRootElement,那麼就采用JAXB來處理xml和對象間的轉換,否則采用xstream來處理xml和對象間的轉換。
XMLHttpMessageConverter插件接收application/xml,text/xml類型的請求封包,同時以application/xml類型響應xml封包。