接口400是什么错误_接口报500是什么错误

接口400是什么错误_接口报500是什么错误原文地址:https://blog.csdn.net/lw1242189467/article/details/80048407首先,遇到400问题,最大几率是出现了数据类型不一致的问题,简单来说是Controller层不用正确读取你发送请求附带的参数。该例是我前端传送JSON格式,使用postmen接收。一.发现400错误的,第一步确认postmen中发送的数据类型是json。比如Headers中Content-Type类型是application/json;或是前端代码Ajax中添加:conten

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

原文地址: https://blog.csdn.net/lw1242189467/article/details/80048407

首先,遇到400问题,最大几率是出现了数据类型不一致的问题,简单来说是Controller层不用正确读取你发送请求附带的参数。该例是我前端传送JSON格式,使用postmen接收。
一.发现400错误的,第一步确认postmen中发送的数据类型是json。比如Headers中Content-Type类型是application/json;或是前端代码Ajax中添加:contentType: ‘application/json;charset=UTF-8’(如图);
在这里插入图片描述
在这里插入图片描述
二.第一步确认postmen中发送的数据格式是否正确。postmen中经常有人有漏写一对“{}“或是缺少逗号,引号,冒号的小问,好在postmen会自动报错提示; 而在前端中你必须重新包装传入参数为JSON型。使用JSON.stringify(params)将params参数重新包装;
在这里插入图片描述
在这里插入图片描述

三.正常解决以上两个问题,多数人错误也该解决了。如果还没有,我们就要在Controller接收处查找问题。

顺带一说:前端用json传入,后端如果用对象接收,及时传入变量名与该对象的属性名对应上,也不会自动封装进去,当然也不会直接报错。如果想json型自动转换成对象,需要在对象前面添加@RequestBody注解。它会将JSON进行转换成为你指定的对象。
在这里插入图片描述
但是我个人更喜欢用JSONObeject或Strng去接受,在用手动将它转化为我需要的对象,因为我传入的对象可能是嵌套好的,其中有一个对象,还有其他对象的List。在头部自动转化就会出现一些问题。
在这里插入图片描述
言归正传,第三个可能出现400的问题就在这。使用RequestBody转化成String时,意外报错,类型不匹配。这一点也是我万万没想到的。因为之前一个项目基本都是用String在接收前端的JSONO对象。这次却卡在400处。解决的方案很简单,使用JSONObject原原本本的接收JSON对象!直接使用!可正常情况String接收也是可以的,这点让我很费解,花了不少时间也没能找到原因。可能是注解的配置问题,又或者是因为使用SSM和springBoot框架的差异。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188457.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 机器学习框架简述

    机器学习框架简述机器学习框架意味着一个能够整合包括机器学习算法在内的所有机器学习的系统或方法,使用户最有效的使用它们。具体来讲,这包括数据表示与处理的方法、表示和建立预测模型的方法、评价和使用建模结果的方法。在所有可用的机器学习框架中,着重于迭代算法和交互处理的框架被公认为是最好的,因为这些特性可以促进复杂预测模型估计和研究人员与数据间的良好交互。当下,优秀的机器学习框架依旧需要包含大数据功能…

    2022年6月17日
    32
  • linux安装svn服务器的两种方式

    linux安装svn服务器的两种方式操作环境:CentOS7.264位==============第一种:采用压缩包安装:比如你们公司服务器上安装软件有自己的规定,一般会采用压缩包安装。==============第一步:SVN服务器端压缩包下载下载地址:http://mirrors.cnnic.cn/apache/subversion/ 我下载的是subversion-1.8.19版本,下载好的压缩包置于目录/usr/loc…

    2022年7月19日
    16
  • LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置「建议收藏」

    LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置「建议收藏」一、负载均衡:必不可少的基础手段LVS作用:实现负载均衡Keepalived作用:监控集群系统中各个服务节点的状态,HAcluster。配置LVS有两种方式:1.通过ipvsadm命令行方式配置2.通过Redhat提供的工具piranha来配置LVS1.1找更多的牛来拉车吧  当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一…

    2022年7月23日
    9
  • Derek Wilson:三重缓冲,为什么我们爱它[通俗易懂]

    Derek Wilson:三重缓冲,为什么我们爱它[通俗易懂]什么是双重缓冲,垂直同步和三重缓冲?当电脑在显示器上显示东西时,它按照它的想法画一幅需要显示的图像(我们称之为缓冲区Buffer)并传输给显示器。在过去,只有一个缓冲区并不断的被电脑绘制和发送给显示器。这种做法有一些优势,但也有非常大的缺点。最值得注意的是,当物体在屏幕上进行了更新,他们往往会导致闪烁。计算机在绘制的同时发送内容。所有插图感谢劳拉.威尔逊提供。为了解决同一缓冲区

    2022年5月22日
    69
  • 浮动工具栏在哪里_设置面板的布局方式为边界布局

    浮动工具栏在哪里_设置面板的布局方式为边界布局使用BCG界面库,工具栏的一些用法就和MFC不一样了,MFC的CFrameWnd直接有一个设置浮动工具条位置的函数可以调用,而BCG没有,因为其对于TOOLBAR的底层实现和MFC那一套实现流程完全不同。BCG库的代码设置浮动工具栏的位置,又折腾了我几个小时,通过看其源码加改调用函数改参数调试,最后终于出来了,也不知此法好不好。代码如下: voidCMainFrame::RePos

    2022年10月8日
    6
  • mysql导入excel文件_将Excel数据导入MySQL「建议收藏」

    mysql导入excel文件_将Excel数据导入MySQL「建议收藏」去年的投资统计月报数据量庞大,原始表格是xls格式(还是EXECL2003的),单个sheet最大只能放几万行,但数据总量有10万行以上,于是只能存成两个sheet。EXECL2010格式倒是单个sheet可以放得下,可是居然不能将数据完整的从一个sheet复制粘贴到另一个sheet(可能是因为行数太多)。正好想学习一下execl数据导入MySQL数据库的方法,于是开始尝试。一开始使用的是MySQ…

    2025年11月19日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号