接口请求报400:malformed request syntax, invalid request message framing, or deceptive request routing

本文主要是介绍接口请求报400:malformed request syntax, invalid request message framing, or deceptive request routing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一种情况

去看一下前端传的参数是不是有接口里没有的参数,,前端调用接口传的参数可以少,但一定不要比接口中的接受对象里的属性多。

举个例子:你用ajax发送了一个post请求携带的json参数是这样的:
{
“name”:“四百”,
“age”:“100”,
“sex”:“man”
}

然后你请求的后端接口是这样的:
@PostController("/newbee")
puiblic String newbee(@RequsestBody Person person){}

然后Person是这样的:
class Person{
private String name;
private String age;
}

Person里根本就没有sex属性,但是前端发请求的时候在json里又加了这个它没有的,那么spring就无法装载这个对象,返回的状态码就是400。

第二种情况

前端请求接口的时候,携带的参数名称错误。其实和第一种情况的本质是一样的,拿第一种情况中的例子,如果说在这里插入图片描述
这个地方,前端不小心把name打成了nane,那么后台接口用来装载数据的对象也是不会装载成功了,,其实这种情况和第一种的本质是一样的

==>前后端参数不一致,导致后台无法接受请求中的数据!

那么如果说仔仔细细的检查之后发现不是以上两种情况,那么你可以在controller中的第一行用log或者print打印点什么东西,看看请求有没有进到方法体里面,如果说都你加了log或者print之后发送请求控制台什么都没有输出的话,,那么问题就一定是出在网络层面了,如果你定义了一个拦截类去解决跨域或者其他关于请求的问题,,那么可以去拦截器里定位一下程序最终执行的地方,再往上一步去定位到可能出问题的地方。

总结: http状态码对应的含义:开源中国(OS) HTTP状态码详解 看400那栏,400状态码对应的内容

补充一个Spring中指向的状态码含义解释地址:
在这里插入图片描述

------------> HttpStatus

这篇关于接口请求报400:malformed request syntax, invalid request message framing, or deceptive request routing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi