记一次使用RequestBody时产生的错误_requestbody.create 报错-程序员宅基地

技术标签: java  json  ajax  

在使用ajax的时候使用到了RequestBody发现了一个容易错的知识点,RequestBody只能把给一个对象封装数据,如果不是一个对象的话,只能得到请求体,如
客户端:

<button id="btn">如你所见,这是一个按钮</button>
<script type="text/javascript">
 $(function(){
    
  
  $("#btn").click(function(){
    
   $.ajax({
    
    url:"ajaxTest.spring",
    contentType:"application/json;charset=UTF-8",
    data:'{"name":"小明","note":"小明是一个人"}',
    dataType:"json",
    type:"post",
    success:function(data,status){
    
     alert("成功");
    }
   });
   
  }); 
 });

服务端
1.

@RequestMapping("/ajaxTest")
 public @ResponseBody void ajaxTest(@RequestBody String name) {
    
    System.out.println(name);
  
 }
@RequestMapping("/ajaxTest")
 public @ResponseBody void ajaxTest(@RequestBody Product product) {
    
    System.out.println(product.getName());
  
 }

结果:
1.{“name”:“小明”,“note”:“小明是一个人”} //可以看出@RequestBody没有吧客户端name的数据封装给服务端name
2.小明 //@RequestBody把name封装给了product中name字段

还有要说的就是要想@RequestBody帮你把json数据封装为对象的倒入相应的包,在配置文件里加上mvc:annotation-driven/ 的配置,另外在方法前面加上@ResponseBody可以帮你把对象转换成json数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45279697/article/details/105419240

智能推荐

python计算机毕设【附源码】选课系统设计与实现(django+mysql+论文)-程序员宅基地

文章浏览阅读525次,点赞8次,收藏20次。在数据库管理工具的选择上,使用了Navicat 11,这是一个用户友好且功能强大的数据库管理软件,它支持多种数据库系统,包括MySQL,并提供了图形化界面,使得数据库的管理和维护工作更加便捷。开发环境方面,我们选择了PyCharm作为主要的集成开发环境(IDE),它提供了丰富的Python开发工具和插件,支持Django框架,有助于提高开发效率和代码质量。培养实践能力:通过实际的项目开发,学生可以将所学的理论知识与实践相结合,提高解决实际问题的能力,为未来的职业生涯打下坚实的基础。

前端权限控制-程序员宅基地

文章浏览阅读4k次,点赞2次,收藏30次。后台管理系统的权限控制_前端权限控制

内核模块调试常用命令整理_/sys/module-程序员宅基地

文章浏览阅读946次。调试内核模块常用命令_/sys/module

Web前端——文字、文本样式,overflow,display_web字体样式怎么设置-程序员宅基地

文章浏览阅读1.5k次。与-webkit-line-clamp一起连用。取值:100~300(lighter) 细 400~500(normal) 正常 600~900(bold) 加粗。rgba(red,green,blue,alpha) alpha [0,1]设置不透明度 0 完全透明 1完全不透明。2.设置几行省略 -webkit-line-clamp。行高=字体大小+上间距+下间距 上间距=下间距。_web字体样式怎么设置

纯干货 | 快消品企业私域流量的基础性建议_快消品 私域-程序员宅基地

文章浏览阅读134次。现在行业内谈到私域流量,几乎每个人都能侃侃而谈,毕竟打了几年交道,多多少少也算是熟悉了。有一部分消费品企业经过几年的摸索,也已经深谙私域流量之法,甚至私域流量池,已不再是小小的辅助技能,而是可以独当一面的大招,成为消费品企业的主要提升方式。也正因如此,消费品品牌对线上平台的打造愈发重视,私域流量更是成为商家升级转型的必经之路。对于消费品企业来说,打造私域流量已经不是什么难事,那消费品企业想要在私域流量上有所突破,应该如何做呢?公域私域相结合很多企业在搭建私域平台的时候,显然有些矫枉过正,完全摒弃_快消品 私域

Unity3D随机位置随机时间生成物体_unity中每4秒生成一个物体-程序员宅基地

文章浏览阅读2.2w次,点赞10次,收藏69次。using System.Collections;using System.Collections.Generic;using UnityEngine;public class CreateWolf : MonoBehaviour{ //初始生成时间5秒钟 float times = 5f; //物体 public GameObjec_unity中每4秒生成一个物体

随便推点

队列顺序结构C/C++实现(数据结构严蔚敏版)_dequeue(q,c)-程序员宅基地

文章浏览阅读411次。1、头文件Queue.h#include&lt;iostream&gt;using namespace std;//定义4个空间,留出一个作为标志位,当Q.rear+1 / MAXQSIZE = Q.front时,说明队列已满 #define MAXQSIZE 4#define ok 1#define error 0#define flow 0typedef int ElemT..._dequeue(q,c)

人工智能快速进化——基于Matlab的智能FPGA应用实践_使用 ai 自动设计fpga程序-程序员宅基地

文章浏览阅读128次。常见的FPGA开发板有Xilinx的Zynq系列和Altera的Cyclone系列,可以根据具体需求选择合适的开发板。通过使用Matlab进行模型训练和优化,并利用HDL Coder将模型转换为FPGA可用的HDL代码,我们可以快速部署和加速各种AI算法。在训练完成后,我们需要将AI模型导出为FPGA可用的格式。HDL Coder提供了丰富的高级优化和代码生成功能,可以帮助我们将模型转换为高效的硬件实现。通过将AI模型部署到FPGA上,我们可以实现更高的计算速度和功耗效率,从而加快AI应用的进化速度。_使用 ai 自动设计fpga程序

VC 鼠标消息WM_SETCURSOR-程序员宅基地

文章浏览阅读2.6k次。VC 鼠标消息WM_SETCURSOR OnSetCursor由消息 WM_SETCURSOR 触发 The WM_SETCURSOR message is sent to a window if the mouse causes the cursor to move within a w_wm_setcursor

无人机姿态表示方法及相互转换(欧拉角、方向余弦矩阵、四元数)_欧拉角和姿态角转换-程序员宅基地

文章浏览阅读1.1w次,点赞11次,收藏91次。常用的姿态表示方法有欧拉角、方向余弦矩阵、四元素这几种欧拉角表示方法采用来表示飞行器的姿态,其中为滚转角,为俯仰角和为航向角,表示飞行器首先航向偏转角度,再俯仰角度,然后机体滚转角度得到的姿态..._欧拉角和姿态角转换

RuntimeError: Error(s) in loading state_dict for YoloBody-程序员宅基地

文章浏览阅读3.8k次,点赞5次,收藏13次。pytorch下的yolov4错误提示:RuntimeError: Error(s) in loading state_dict for YoloBody: size mismatch for yolo_head3.1.weight: copying a param with shape torch.Size([75, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([255, 256, 1, _runtimeerror: error(s) in loading state_dict for yolobody:

MATLAB生成直流信号&正余弦信号&冲激信号&阶跃信号_matlab 画直流信号-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏38次。目录1.直流信号2.正余弦信号3.冲激信号4.阶跃信号u(t)1.直流信号syms x A; % A是幅值x = 0:0.01:10; A = 5; y = 0*x + A; plot(x, y); %画图2.正余弦信号数值法t = 0 : 0.01 : 6; A = 1; w = 2*pi; fai = pi/5; %幅值、角频率、初相位f = A * sin(w * t + fai);plot(t, f);title('正弦信号')_matlab 画直流信号