首页 > 编程知识 正文

400是前端的错误还是后端的,页面请求报400

时间:2023-05-03 14:13:04 阅读:180810 作者:4162

前端通常向后端发送请求。 报告400是因为前端json对象中的属性名称与后端接收请求的实体类的属性名称不对应,或者请求参数类型不对应。 排除400个错误的方法如下。

1、前端发送的属性名称与后端实体类的属性名称不对应

解决方法:检查前端发送的Json对象的属性名称是否与后端接收请求参数的实体类的属性名称相对应。 这意味着前端发送的Json对象的属性值必须包含在后端实体类的属性中。 这意味着,由前端发送的Json对象的属性后端接收的实体类必须包含Json对象的所有属性。 这意味着实体类的属性可以多于Json,但不能多于Json

2、前端发送的属性名称与后端实体类的属性名称对应

解决方法:在这种情况下,请注意,接收请求的实体类的属性中不能存在首字母大写的变量,因为报告400在实体类的属性名称中包含首字母大写的变量。 否则,还会报告400个错误。 请将实体类的首字母大写属性更改为首字母小写,并相应地修改前端。 呃! 呃!

3、前端发送的参数与后端接收的参数名称相同,类型不一致

解决方案:例如前端的get是否要求发送xxx? age=aaa后端通过Integer age接收。 这种情况下也报告400错误。 请仔细检查参数类型,确认是否支持。

4、在后端使用@RequestParam注释时,一定会传达参数设定的问题

如果后端使用@RequestParam注释,并且未在注释中设置required=false属性,则该属性默认为true。 这意味着您必须传递此字段的值。 如果前端不在此字段中传递值,则还会报告400

报告400个错误的栗子

一个GET请求: http://localhost :8080/spring MVC/register? passworld=123456 (无name参数,仅限passworld )

后端代码

/**@requestparam(value='name ) )相当于*@requestparam ) value='name )、required=true ) *,必须将值传递给用户名称否则,会报400*/@requestmapping(/register ' ) publicstringtest1 ) requestparam ) value='name ' ) String userName,stre

解决方案:如果您的业务必须将值传递给此值,则前端会检查并添加此字段的值。 如果此字段中的值不需要传递参数,则后端更改将必填属性设置为false,即@requestparam(value='name,required=false )

原创并不容易。 请注明出处。 https://blog.csdn.net/kermit _ father/article/details/83245776

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