重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介)

重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介)

    • 3.3 内容协商
      • 3.3.1 基础简介
      • 3.3.2 演示效果

3.3 内容协商

3.3.1 基础简介


默认规则

  • 基于请求头的内容协商(默认开启)
    • 客户端向服务器发送请求,携带 HTTP 标准的 Accept 请求头
    • Accept:appliaction/jsontext/xmltext/yaml
    • 服务端会根据客户请求头期望的数据类型进行动态返回
  • 基于请求参数内容协商(需要开启)
    • 发送请求 GET/person?format=json
    • 匹配到 @GetMapping(“/person”)
    • 跟模参数协商,优先返回JSON类型数据 【需开启参数匹配设置】
    • 发送请求 GET/person?format=xml,优先返回 xml 类型数据

image-20240602130325689

3.3.2 演示效果


  • 创建 Person 类
package com.zhong.web.dto;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @ClassName : Person* @Description :* @Author : zhx* @Date: 2024-06-02 13:05*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {private Integer id;private String userName;private String like;private Integer age;
}
  • 创建 GetPersonController
package com.zhong.web.controller;import com.zhong.web.dto.Person;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName : GetPersonController* @Description :* @Author : zhx* @Date: 2024-06-02 13:07*/
@RestController
public class GetPersonController {@GetMapping("/person")public Person getPerson() {Person person = new Person();person.setId(1);person.setUserName("小钟");person.setAge(23);person.setLike("小王");return person;}
}
  • 重新启动应用浏览器测试
http://localhost:8080/person

image-20240602131210408

默认发回数据类型为 json 若想返回 xml 类型可以做下面的操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GraphQL(1):GraphQL简介

1 GraphQL介绍 GraphQL是Facebook开发的一种数据查询语言,并于2015年公开发布。它是RESTAPI的替代品。 GraphQL 既是一种用于 API的查询语言也是一个满足你数据查询的运行时。 GraphQL对你的 API中的数据提供了一套易于理解的完整描述,使得客户端能够准…

20240601使用iperf3在Toybrick的TB-RK3588开发板上跑预编译的Android12测网速

20240601使用iperf3在Toybrick的TB-RK3588开发板上跑预编译的Android12测网速 2024/6/1 20:39 【常见问题】给TB-RK3588开发板刷机Androidd12之后,如果刷机线type-C不拔掉。可能起不来! 搞得我都以为板子坏了呢! rootrootrootroot-ThinkBook-…

Linux|Linux系统的exec函数族浅浅解析

exec 函数族是 Linux 和其他类 Unix 操作系统中的一组系统调用,用于在当前进程的上下文中执行新的程序。这些函数包括 execl, execle, execlp, execv, execve, execvp 和 execvpe 等。使用这些函数可以替换当前进程的地址空间,使其执行一个新的程序。 基…

Linux[高级管理]——使用源码包编译安装Apache网站

🏡作者主页:点击! 👨‍💻Linux高级管理专栏:点击! ⏰️创作时间:2024年5月31日14点20分 🀄️文章质量:96分 在Linux系统上编译和安装Apache HTTP Server是…

Kubernetes 安全指南:从审计到备份的全面防护

▲ 点击上方"DevOps和k8s全栈技术"关注公众号 Kubernetes(K8s)作为现代容器编排的领先平台,其在提升应用部署和管理效率方面表现出色。然而,随着其应用的广泛普及,Kubernetes的安全性也成为了大家关注的重点…

搭建基于Django的博客系统数据库迁移从Sqlite3到MySQL(四)

上一篇:搭建基于Django的博客系统增加广告轮播图(三) 下一篇:基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五) Sqlite3数据库迁移到MySQL 数据库 迁移原因 Django 的内置数据库 SQL…

动态规划求多段图的最短路径

一、基本思想 动态规划法将待求解问题分解成若干个相互重叠的子问题,每个子问题相互关联;动态规划法与分治法的区别就在于分治法的子问题相互不关联,而动态规划法的子问题是相互关联的,且有重叠的部分。 二、算法分析 动态规划…

x264 参考帧管理原理:reference_build_list 函数

reference_build_list函数 原理 功能:构建参考列表,它根据当前编码帧的POC(Picture Order Count)来决定哪些帧可以作为参考帧。 内部执行流程:声明了一个布尔变量b_ok,用于在排序循环中作为标志;初始化参考帧列表0和1的计数器i_fref[0]、i_fref[1];如果当前编码的切片…

独孤思维:赚不到的人,身边也都是不赚钱的垃圾

01 如果你身边的人,都被你吐槽垃圾,那么你一定垃圾。 因为你身处在垃圾之中,而你不愿意改变,那么你肯定垃圾。 如果你做副业,一直没赚到钱,也一直在埋怨项目不行。 那么一定是你这个人不行。 无论换多…

android源码下载编译模拟器运行

安卓aosp源码下载,编译,模拟器运行 virtualbox7 安装ubuntu20.04,ubuntu22.04 编译android aosp 源码可以,但是模拟器跑不了,哪个版本都是要么黑屏,要么整个vbox虚拟机闪退。解决方案使用vmware17 ##拯救…

性能优化相关:nginx负载均衡中的动静分离

结合上次博客:正向代理和反向代理 什么是动静分离: 静态资源:包含css文件、图片、js文件、配置文件等 动态资源:脚本处理等 更改/usr/local/nginx/conf下的nginx.conf文件,设置动静目录,添加如下 locatio…

Ubuntu——配置安装服务

目录 一、安装JDK 二、安装IntelliJ IDEA 三、安装Docker-ce 1.环境清理以免有遗留组件 2.安装Docker 3.测试 #检查版本 sudo cat /etc/issue 一、安装JDK Ubuntu提供了一个名为apt的软件包管理工具,通过它可以使用命令行的方式安装、更新和删除软件包。 使用…

Day03 左侧菜单数据绑定

一.左侧菜单数据绑定 1.首先,进行项目结构塔建。按照Prism 框架约定,要使用自动查找绑定功能。即View (视图)中自动查找并绑定到对应的ViewModel(视图模型,处理视图业务逻辑)。就需要在项目中按…

大数据在金融行业的深度应用与未来展望

一、引言 随着信息技术的迅猛发展,大数据已经成为推动金融行业创新的重要力量。从精准营销、个性化服务到风险管理和产品创新,大数据的应用正在不断重塑金融行业的格局。本文将深入探讨大数据在金融行业的深度应用,分析其特征特点、解决方案以及面临的挑战与机遇,并展望其…

【C++】6-7 你好,输出的格式控制(三角形)

6-7 你好,输出的格式控制(三角形) 分数 10 全屏浏览 切换布局 作者 向训文 单位 惠州学院 完善程序:输入行数rows(大于0),第一行输出rows个*,接下来每行的*个数减1,直…

LeetCode刷题之HOT100之搜索旋转排序数组

2024/6/2 雨一直下,一个上午都在床上趴着看完了《百年孤独》,撑伞去吃了个饭,又回到了宿舍。打开许久未开的老电脑,准备做题了。《百年孤独》讲了什么,想表达什么,想给读者留下什么,我不知道&am…

列表的可变性

列表的可变性 Python里的内置数据类型, 大致上可分为可变与不可变两种。 可变(mutable):列表、字典、集合不可变(immutable):整数、浮点数、字符串、字节串、元组 列表是可变的,当…

无法拒绝!GPT-4o 完美适配安卓手机,畅享丝滑体验

无法拒绝!GPT-4o 完美适配安卓手机,畅享丝滑体验 前言 人工智能的飞速发展,给我们的生活带来了前所未有的便利。作为AI技术的代表之一,GPT凭借其强大的自然语言处理能力,已经成为许多用户日常生活和工作中的得力助手…

超大功率光伏并网逆变器学习(三相) 一

1.超大功率用的IGBT开关频率通常很低,比如6KHz 2.线电压和相电压的关系 相电压 A AB线电压-CA线电压 相电压 B BC线电压-AB线电压 相电压 C CA线电压-BC线电压 3.坐标变换 ABC三相信号通过Clark坐标变换得到αβ两相静止信号,其中α与A相重合,β与α…

基于数据驱动的自适应性小波构造(MATLAB)

以地震领域为例,时频变换能够刻画地震资料的时频特征,进而辅助地质构造解释。在各种时频分析工具中,连续小波变换CWT是描述地震资料时频特征的常用工具。选择合适的基小波是CWT的关键问题。对于不同类型的信号前人有针对性的设计了许多基小波…