SpringBoot返回xml

默认情况下引入web依赖后自带了JackJson 返回JSON数据

你也可以引入fastJSON 那么方便使用可以用JSON.xxx

如果希望Boot默认返回xml数据

复制代码
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
</dependency>

用浏览器

用curl

为什么??

原因是浏览器默认携带了Accpt

accept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7

而curl什么都没带 什么都没带情况下 Boot为了便利性 默认返回JSON

如果你带了 并且服务器有对应的消息转换器 就会给你需要的

默认情况下

浏览器

accept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7

而SpringBoot为了开发便利性 默认返回的是JSON数据

而当你的消息转换器里有了xml转换器之后

Boot消息返回机制就默认使用了xml 原因是内容协商机制 浏览器Accept 需要application/xml

SpringBoot关于内容协商有两种方式

第一种就是浏览器请求头带过来的Accept

第二种是format方式(需要配置)

相关推荐
犀利豆1 小时前
AI in Harness(二)
java·人工智能·后端
沉静的小伙3 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途3 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
醇氧3 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
ylscode4 小时前
Cloudflare Workers Cache 深度解析:边缘缓存如何重塑无服务器性能边界
java·spring·mybatis
栈溢出了4 小时前
Java Lambda 表达式笔记
java·开发语言·intellij-idea
会周易的程序员4 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot
zhixingheyi_tian4 小时前
一份GC日志的解读
java·开发语言
ywl4708120874 小时前
ArrayList和LinkedList内部的实现原理和区别
java·java基础
沉静的小伙4 小时前
Spring事务
java·数据库·spring