置百丈玄冰而崩裂,掷须臾池水而漂摇。

[JAVA] Spring Boot 根据请求头返回xml或json

JAVA 强强

我们开开发中经常有不同的返回需求,下面就在sprintboot中根据请求头Accept 返回xml或json的方法

首先添加依赖:

  <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </dependency>

然后在请求是在请求头里面带上对应的Accept

Accept :application/json


Accept :application/xml


 

JackSonXml还有一些其他标签:

@JacksonXmlRootElement(localName = "XPerson")//用在类上,用来自定义根节点名称;
public class Person {

    @JacksonXmlProperty(localName = "key") //用在属性上,用来自定义子节点名称;
    private  Long id;
    private  String name;
}

说明:

@JacksonXmlRootElement: 用在类上,用来自定义根节点名称;

@JacksonXmlProperty: 用在属性上,用来自定义子节点名称;

@JacksonXmlElementWrapper: 用在属性上,可以用来嵌套包装一层父节点,或者禁用此属性参与 XML 转换。

这些标签只对返回xml的时候有效,返回json无用

效果:


补充说明:

在配置文件中加入:

spring.mvc.contentnegotiation.favor-parameter=true

就可以在请求是上fromate=json/xml 就会返回相应的数据:

例如:

xml效果:

json效果:

两种方式都可以实现


发表评论:

验证码