首页 > 编程知识 正文

川崎400充电usb接口,调用接口400错误

时间:2023-05-06 01:43:01 阅读:46728 作者:3797

今天,我遇到了一个非常悲伤的错误400。 对程序员来说,这可能是最简单的错误代码。 这是因为它既没有进入拦截器,也没有进入控制器层。 但是,我在解决这个问题的时候,问了很多朋友很困惑。 百度的各种方案都无效。 折磨了我很久。

首先,遇到400个问题的概率最高,是数据类型不匹配的问题。 简单地说,控制器层不需要正确读取您的发送请求附带的参数。 此示例在我的前端传输JSON格式,并在postmen中接收。

另一方面,发现400错误时,第一步确认postmen中发送的数据类型为json。 例如在Headers中,Content-Type类型为application/json; 或添加到前端代码Ajax:content type : ' application/JSON; charset=UTF-8 ' (如图)

2 .第一步检查postmen发送的数据格式是否正确。 在postmen中,经常会出现缺少“{}”、逗号、引号和冒号的问题。 好在postmen会自动报告错误提示。 在前端,必须重新包装输入参数为JSON型。 使用JSON.stringify(Params )重新打包params参数;

三、正常解决以上两个问题,很多人错了也应该解决。 如果还没有,请在控制器接待处查找问题。

顺便说一下,如果前端在json中传递,后端在对象上接收,然后立即传递变量名称以对应于该对象的属性名称,则不会自动封装,当然也不会直接报告错误。 要将json类型自动转换为对象,必须在对象前添加@RequestBody注释。 将JSON转换为指定的对象。

但是,我个人喜欢用JSONObeject和Strng接受,并将其手动转换为所需的对象。 因为我收到的对象是嵌套的,其中可能有一个对象和其他对象的列表。 头部自动转换存在一些问题。

言归正传,第三个400个问题就在这里。 使用RequestBody转换为字符串时,会报告意外错误,且类型不匹配。 这也是我做梦也没想到的。 因为上一个项目基本上是在字符串中接收前端JSONO对象。 这次卡在400个地方。 解决方案很简单,使用JSONObject直接接收JSON对象! 请就这样使用! 但是,也可以进行通常的字符串接收。 这让我很费解,花了很长时间也找不到原因。 可能是由于注释放置问题,或者是由于使用SSM和springBoot框架之间的差异。

这里也想消除大神网友的混乱!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。