前言:對(duì)于服務(wù)器后端開發(fā),接口返回的數(shù)據(jù)格式一般要求都是json,但是也有使用xml格式

RequestBody注解
對(duì)于SpringMVC,很多人會(huì)認(rèn)為接口方法使用@Controller搭配@ResponseBody和@RequestMapping注解后,java對(duì)象會(huì)轉(zhuǎn)換成json格式返回。
但實(shí)際上配合@ResponseBody注解后,接口返回的數(shù)據(jù)類型是根據(jù)HTTP Request Header中的Accept屬性來(lái)確定的,可以是XML或者JSON數(shù)據(jù)
通過(guò)適當(dāng)?shù)腍ttpMessageConverter對(duì)java對(duì)象進(jìn)行格式轉(zhuǎn)換,常用的有:
ByteArrayHttpMessageConverter
負(fù)責(zé)讀取二進(jìn)制格式的數(shù)據(jù)和寫出二進(jìn)制格式的數(shù)據(jù);
StringHttpMessageConverter
負(fù)責(zé)讀取字符串格式的數(shù)據(jù)和寫出二進(jìn)制格式的數(shù)據(jù);
ResourceHttpMessageConverter
負(fù)責(zé)讀取資源文件和寫出資源文件數(shù)據(jù);
FormHttpMessageConverter
負(fù)責(zé)讀取form提交的數(shù)據(jù);
MappingJacksonHttpMessageConverter
負(fù)責(zé)讀取和寫入json格式的數(shù)據(jù);
SouceHttpMessageConverter
負(fù)責(zé)讀取和寫入 xml 中javax.xml.transform.Source定義的數(shù)據(jù);
Jaxb2RootElementHttpMessageConverter
負(fù)責(zé)讀取和寫入xml 標(biāo)簽格式的數(shù)據(jù);
AtomFeedHttpMessageConverter
負(fù)責(zé)讀取和寫入Atom格式的數(shù)據(jù);
RssChannelHttpMessageConverter
負(fù)責(zé)讀取和寫入RSS格式的數(shù)據(jù)
具體使用哪個(gè)怎么判斷這里就不細(xì)講了,我們關(guān)心的是Jaxb2RootElementHttpMessageConverter這個(gè)方法,后面會(huì)講為啥會(huì)提
java對(duì)象與xml之間互相轉(zhuǎn)換
使用Java自帶注解的方式實(shí)現(xiàn)(@XmlRootElement,@XmlAccessorType,@XmlElement,@XmlAttribute),具體使用方法網(wǎng)上有很多
這里直接代碼舉例
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name = "city")
@XmlType(propOrder = { "name","province"})
public class City {
private String name;
private String province;
public City() {
}
public City(String name, String province) {
this.name = name;
this.province = province;
}
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public String getProvince() {
return province;
}
@XmlElement
public void setProvince(String province) {
this.province = province;
}
}
當(dāng)前名稱:Javaxml數(shù)據(jù)格式返回實(shí)現(xiàn)操作-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.chinadenli.net/article6/djopog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、用戶體驗(yàn)、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容