Stackoverflow(1)-根据RequestBody的内容来区分使用哪个资源

  • 如果使用Spring,可以通过@RequestBody将请求体的json转换为Java对象,但如果URI相同,而请求体的内容不同,应该怎么办?
  • 问题来源(stackoverflow):
  • Spring @RequestBody without using a pojo?
  • 稍微研究了一下,如果将@RequestBody指定为Map,那么请求体(键、值)会存储到Map对象中
  • 案例:
  • 发送POST请求,虽然URI相同,但是请求体却不同
  • 不过,携带了一个名为type的共同数据,并通过type的值来判别不同的情况
  • 这次准备了两个type的值:concert和trip

  • 控制器的实现:
  • 在控制器的实现中,指定 @RequestBody 为 Map<String, Object> 类型
  • 通过指定 Map,可以将请求体以键值对的形式存储

  • 查看 type 键的值,以此判断是哪一种类型的请求,并将请求转换为相应的类
  • 在转换过程中使用了 Jackson 的 ObjectMapper 类进行转换
  • 这里,我们将其转换为相应类的对象,输出到标准输出并结束

  • 尝试发送 concert 的请求

  • 结果的标准输出

  • 尝试发送 trip 的请求

  • 结果的标准输出

  • 所以正确地将其转换为对应的类是可能的
  • 整体代码:

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

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

相关文章

浅析Linux设备驱动:IO端口和IO内存

文章目录 概述IO端口和IO内存的区别 IO资源管理IO资源类型IO端口资源IO内存资源 IO资源分配 IO端口访问IO端口操作函数 IO内存访问IO内存操作函数 相关参考 概述 在计算机系统中&#xff0c;外部设备通常会提供一组寄存器或内存用于处理器配置和访问设备功能。这些寄存器或内存…

由斐波那契数列探究递推与递归

斐波那契数列定义&#xff1a; 斐波那契数列大家都非常熟悉。它的定义是&#xff1a; 对于给定的整数 x &#xff0c;我们希望求出&#xff1a; f ( 1 ) f ( 2 ) … f ( x ) f(1)f(2)…f(x) f(1)f(2)…f(x) 的值。 有两种方法,分别是递推(迭代)与递归 具体解释如下图 备注…

JDBC核心技术

第1章 JDBC概述 第2章 获取数据库连接 第3章 使用PreparedStatement实现CRUD操作 第4章 操作BLOB类型字段 第5章 批量插入 第6章 数据库事务 第7章 DAO及相关实现类 第8章 数据库连接池 第9章 Apache-DBUtils实现CRUD操作图像 小部件

蜂蜜器实验-驱动代码测试

一. 简介 上一篇文章实现了蜂鸣器驱动代码&#xff0c;实现关闭蜂鸣器与打开功能。文章地址如下&#xff1a; 蜂鸣器驱动代码完善-CSDN博客 本文对所实现的蜂鸣器驱动代码进行测试。 二. 蜂鸣器驱动代码测试 1. 准备应用程序 这里应用程序还使用 前面实现所使用的Led应用…

学习数据接构和算法的第10天

题目讲解 尾插 #include <stdio.h> #include <stdlib.h> // 定义顺序表结构 #define MAX_SIZE 100 struct ArrayList {int array[MAX_SIZE];int size; // 当前元素个数 }; // 初始化顺序表 void init(struct ArrayList *list) {list->size 0; // 初始时元素个…

秒级到毫秒级的跨越—一次慢SQL优化历险

一次慢 SQL 优化过程 一、背景 对于公司内部的一个发票管理系统&#xff0c;财务人员经常需要对发票的开票交易进行查询&#xff0c;这里涉及到两张表&#xff1a;发票订单表和发票信息表&#xff0c;我们需要查询订单 ID、开票 APP、开票主体、订单类型、支付渠道、支付总额…

洛夫克拉夫特“克苏鲁神话”艺术风格探索(二)

三、多元的叙事风格 洛夫克拉夫特的克苏鲁神话作为当时独特的文学创造&#xff0c;有独特的叙事特征[8]。 一是侦探小说不稳定的叙事。最有名气的早期侦探小说是爱伦坡的《莫格街凶杀案》&#xff0c;并产生了“疑案”的经典设定&#xff0c;两次世界大战期间的侦探小说批评认…

Python re.findall()中的正则表达式包含多个括号时的返回值——包含元组的列表

当re.findall()中的正则表达式包含多个括号时&#xff0c;返回值是一个列表&#xff0c;其中每个元素都是一个元组。这个元组的长度与正则表达式中括号的数量相同&#xff0c;元组中的每个元素都是与相应括号中的模式匹配的文本。 import re # 定义一个包含三个括号的正则表达…

牛客周赛33

第一题&#xff1a;小红的单词处理 小红拿到了用空格隔开的两个单词。她希望你先输出第二个单词&#xff0c;再输出第一个单词。你能帮帮她吗&#xff1f; 利用c/c的特性自动忽略空格 #include<iostream> using namespace std; int main(){string a,b;cin>>a>…

《UE5_C++多人TPS完整教程》学习笔记18 ——《P19(实现子系统函数)创建会话(Create Session)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P19 &#xff08;使用子系统函数&#xff09;创建会话&#xff08;Create Session&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&am…

基于Java SSM框架实现疫情防控系统项目【项目源码】

基于java的SSM框架实现疫情防控系统演示 Java技术 Java技术它是一个容易让人学会和使用的一门服务器语言。它在编程的过程当中只需要很少的知识就能建立起一个真正的交互站点。对于这个教程来说它并不需要你完全去了解这种语言&#xff0c;只要能快速融入web站点就可以&#x…

7.Cloud-GateWay

0.概述 https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 1.入门配置 1.1 POM <!--新增gateway--> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-sta…

javaSE和javaEE区别

javaSE Java SE&#xff08;Java Platform&#xff0c;Standard Edition&#xff09; Java SE 以前称为 J2SE。 它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。 Java SE 包含了支持 Java Web服务开发的类&#xff0c;并为 Java Platform&#…

Spring 事务原理总结六

不知不觉&#xff0c;关于Spring事务的文章已经写了五篇了。老实讲我自己不断质疑过自己&#xff1a;现在写这些文章还有意义吗&#xff1f;当前的市场已经成什么样了&#xff0c;为什么还要固守这落后的技术&#xff1f;但是贝索斯一次接受访谈的回答&#xff0c;让我写下去的…

ESP32-Cam学习(1)——拍摄第一张照片

1.开发板介绍 使用的ESP32-Cam实物图为&#xff1a; 在某宝可以轻易买到。它分为主板&#xff0c;和底板。底板的主要功能是供电、程序下载等等。主板才是ESP32芯片的核心。 2.固件烧录 使用摄像头之前&#xff0c;需要给ESP32刷入支持摄像头的固件库&#xff0c;其下载地址为…

【C】printf和scanf函数的探索

printf()是输出函数&#xff0c;scanf()是输入函数&#xff0c;输入/输出函数简称为I/O函数。它两是C语言中最通用的输入输出函数。不同的编译器可能有不同的I/O的实现。 printf和scanf这两个函数虽然功能不同&#xff0c;但是工作原理几乎相同&#xff0c;它们都使用格式字符…

数据库-----范式判断

目录 (1)求最小函数依赖集 (2)求候选码 (3)求R最高属于哪级范式 总结: 以一道例题来看: 3.已知关系模式R<ABCDEG> F{BC-->E&#xff0c;DC-->B,D-->A,B-->G,D-->E,E-->G,B-->C} 求: ①F的最小函数依赖集 ②R的候选码 ③R最高属于…

美国中性原子量子公司QuEra宣布将在英国建造量子测试平台

编辑丨慕一 编译/排版丨沛贤 深度好文&#xff1a;1250字丨7分钟阅读 中性原子量子公司QuEra Computing宣布&#xff0c;英国国家量子计算中心&#xff08;NQCC&#xff09;将成为一个量子计算测试平台的所在地。 通过NQCC的资助&#xff0c;并在小型企业研究计划&#xff…

【Kubernetes in Action笔记】1.快速开始

在Kubernetes上运行一个程序 基础运行环境 当前的运行环境为使用虚拟机构建的单master集群。 [rootk8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 109d v1.27.1 k8s-node1 Ready …

基于物联网的智慧农业简介

背景 物联网是通过信息传感设备,按约定的协议实现人与人、人与物、物与物全面互联的网络,其主要特征是通过射频识别、传感器等方式获取物理世界的各种信息,结合互联网、移动通信网等技术进行信息的传输与交互,采用智能计算技术对信息进行分析处理,从而提高对真实环境的感…