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

2024-06-02 16:28

本文主要是介绍重生之 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 类型可以做下面的操作

这篇关于重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024482

相关文章

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

SpringBoot3使用Jasypt实现加密配置文件

《SpringBoot3使用Jasypt实现加密配置文件》这篇文章主要为大家详细介绍了SpringBoot3如何使用Jasypt实现加密配置文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... 目录一. 使用步骤1. 添加依赖2.配置加密密码3. 加密敏感信息4. 将加密信息存储到配置文件中5

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.