Springboot学习问题记录

Posted yangtze-yufei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot学习问题记录相关的知识,希望对你有一定的参考价值。

1、spring boot与cloud构建微服务,返回数据从json变成了xml

  问题:本身spingboot项目是用@RestController注解,返回结果也是json格式,但是结合springcloud的eureka构建微服务之后,无论是消费者还是提供者,均返回的xml格式,必须在提供者与消费者的方法上添加produces=“application/json”,但是这样本身@RestController注解里集成的@ResponseBody不就没用了吗?

  解决:把这个jackson-dataformat-xml依赖去掉。它是提供了jackson将实体类转化为xml相关的作用。而本身jackson是可以将实体类转化为json的,所以这样Jackson是可以将实体类转化为两种类型的数据,而具体要转化为哪一种数据,是要看http请求里面的accept头信息的,我的浏览器chrome的accept是  Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 ,然后服务器会根据accept来决定是返回xml还是json,由于浏览器accept只有最后的*/*是匹配 application/json的,而application/xml在*/*前面,优先级比json高,所以用浏览器直接调用是会优先返回xml格式的。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.dataformat</groupId>
                    <artifactId>jackson-dataformat-xml</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

以上是关于Springboot学习问题记录的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 学习记录 2021.05.13 Started

SpringBoot学习记录

Springboot学习记录1--概念介绍以及环境搭建

SpringBoot Wiki项目部署记录

SpringBoot学习记录

springboot启动流程