SpringBoot2:请求处理原理分析-利用内容协商功能实现接口的两种数据格式(JSON、XML)

文章目录

一、功能说明

我们知道,用@ResponseBody注解标注的接口,默认返回给页面的是json数据。

其实,也可以返回xml结构的数据给页面。

这一篇就来实现一下这个小功能。

二、案例实现

pom

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

1、基于请求头实现

直接添加了pom即可,无需其他配置。

获取json数据:application/json

获取xml数据:application/xml

2、基于请求参数实现

yaml配置

yaml 复制代码
spring:
  mvc:
    contentnegotiation:
      favor-parameter: true

获取json数据:http://127.0.0.1:8080/test/person?format=json

获取xml数据:http://127.0.0.1:8080/test/person?format=xml

相关推荐
※DX3906※21 分钟前
SpringBoot之旅4: MyBatis 操作数据库(进阶) 动态SQL+MyBatis-Plus实战,从入门到熟练,再也不踩绑定异常、SQL拼接坑
java·数据库·spring boot·spring·java-ee·maven·mybatis
_院长大人_25 分钟前
Spring Boot 3.3 + Atomikos 分布式事务日志路径配置踩坑记录
spring boot·分布式·后端
我爱学习好爱好爱31 分钟前
Ansible 自动化部署全栈项目(Spring Boot + Vue + MySQL + Redis)实战(Rockylinux9.6)
spring boot·自动化·ansible
Darkdreams1 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
想进大厂的小徐1 小时前
Spring 容器启动与 Bean 创建流程
java·spring boot·spring
真上帝的左手1 小时前
12. 消息队列-RabbitMQ-Spring Boot 集成 RabbitMQ
spring boot·rabbitmq·java-rabbitmq
zhangren024681 小时前
Laravel5.x版本特性全解析
android·vue.js·spring boot·mysql
Meepo_haha1 小时前
ES在SpringBoot集成使用
spring boot·elasticsearch·jenkins
liangblog2 小时前
Spring Boot中手动实例化 `JdbcTemplate` 并指定 数据源
java·spring boot·后端
啥都想学点2 小时前
从 Flutter 前端到 Spring Boot 后端:2026 年技术栈落地路线图(实战版)
前端·spring boot·flutter