Spring Boot返回xml格式

Spring Boot返回xml格式

目前流行的接口形式,数据类型基本都是json格式,很少使用xml格式进行数据传输。
在网站seo时,常常会用到sitemap,常用的形式就是xml格式。
如下简单说明:

1. 在xml返回的实体类前加@XmlRootElement注解。

@XmlRootElement
public class Urlset {

    private List<Url> url = new ArrayList<>();
    
    @XmlRootElement
    public static class Url {
        private String loc;
        private String lastmod;
        private String changefreq;
        private String priority;
        ...
    }
}

如果实体类中包含其他实体类,则需要在子类的前面也添加@XmlRootElement注解。

2. 在请求的注释中添加 produces = {"application/xml;charset=UTF-8"}

@RequestMapping(value = "/sitemap.xml", produces = {"application/xml;charset=UTF-8"}, method = RequestMethod.GET)
private Urlset getSitemapXml() {
    Urlset urlset = new Urlset();
    Url url = new Url();
    url.setLoc("");
    url.setLastmod("");
    url.setChangefreq("");
    url.setPriority("");
    urlset.getUrl().add(url);
    ...
}

请求返回结果如:


<urlset>
    <url>
        <changefreq>dailychangefreq>
        <lastmod>2018-07-16lastmod>
        <loc>https://blog.mylitboy.com/article/Hadoop-MapReduce-introduction-and-simple-useloc>
        <priority>0.8priority>
    url>
    <url>
        <changefreq>dailychangefreq>
        <lastmod>2018-07-16lastmod>
        <loc>https://blog.mylitboy.com/article/Hadoop-HDFS-introduction-and-simple-useloc>
        <priority>0.8priority>
    url>
urlset>

你可能感兴趣的:(Java,Spring)