Javaxml数据格式返回实现操作-创新互联

前言:对于服务器后端开发,接口返回的数据格式一般要求都是json,但是也有使用xml格式

创新互联专注于网站建设,为客户提供网站建设、成都做网站、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

RequestBody注解

对于SpringMVC,很多人会认为接口方法使用@Controller搭配@ResponseBody和@RequestMapping注解后,java对象会转换成json格式返回。

但实际上配合@ResponseBody注解后,接口返回的数据类型是根据HTTP Request Header中的Accept属性来确定的,可以是XML或者JSON数据

通过适当的HttpMessageConverter对java对象进行格式转换,常用的有:

ByteArrayHttpMessageConverter

负责读取二进制格式的数据和写出二进制格式的数据;

StringHttpMessageConverter

负责读取字符串格式的数据和写出二进制格式的数据;

ResourceHttpMessageConverter

负责读取资源文件和写出资源文件数据;

FormHttpMessageConverter

负责读取form提交的数据;

MappingJacksonHttpMessageConverter

负责读取和写入json格式的数据;

SouceHttpMessageConverter

负责读取和写入 xml 中javax.xml.transform.Source定义的数据;

Jaxb2RootElementHttpMessageConverter

负责读取和写入xml 标签格式的数据;

AtomFeedHttpMessageConverter

负责读取和写入Atom格式的数据;

RssChannelHttpMessageConverter

负责读取和写入RSS格式的数据

具体使用哪个怎么判断这里就不细讲了,我们关心的是Jaxb2RootElementHttpMessageConverter这个方法,后面会讲为啥会提

java对象与xml之间互相转换

使用Java自带注解的方式实现(@XmlRootElement,@XmlAccessorType,@XmlElement,@XmlAttribute),具体使用方法网上有很多

这里直接代码举例

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;
  }
}

标题名称:Javaxml数据格式返回实现操作-创新互联
转载源于:http://pwwzsj.com/article/djopog.html