HTTP Status 400 – Bad Request ,springMVC错误(解决思路) - Go语言中文社区

HTTP Status 400 – Bad Request ,springMVC错误(解决思路)


报错界面

在这里插入图片描述
错误信息:由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息框架或欺骗性的请求路由),服务器不能或不会处理该请求。

一般出现这种问题是因为我想要传输的是Date类型的数据,而系统默认是传String类型的,因而传递失败。解决方法也不难,我有两种解决思路提供给大家。

①加@DateTimeFormat注解(局部定义)

直接在你实体类定义的时间类型属性的上方加注解,这样定义的话输入数据的时候就要和规范式一样(如:2019-01-01)

在这里插入图片描述

②自定义类型转换器(全局定义,推荐使用)

(1)首先写一个类,功能是强转数据类型保存,放哪里不重要,只要自己记得就行了。
模板 DateConverter.java(注意包的位置就行了):

package com.springmvc.converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.core.convert.converter.Converter;

public class DateConverter implements Converter<String, Date>{
	
	@Override
	public Date convert(String source) {
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
		try {
			sdf.setLenient(false);//是否宽松解析,默认true
			return sdf.parse(source);
		} catch (ParseException e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return null;
	}
}

(2)springMVC-servlet.xml的配置
基本就是添加下面这些配置,注解驱动的ID对应类型转换器的ID,我们的项目肯定会稍有不同,下面分析下类型转换器的配置步骤。
在这里插入图片描述
类型转换器的配置步骤:
●(1)

class="org.springframework.format.support.FormattingConversionServiceFactoryBean"

这个的路径如图:
在这里插入图片描述

我们右键文件点击Copy Qualified Name可以直接把路径复制下来,很方便。
在这里插入图片描述
●(2)

<property name="converters">

它的名字就在上面的文件里面,点进入查看复制粘贴就好。
在这里插入图片描述

●(3)

       		<set>
       		<bean class="com.springmvc.converter.DateConverter"></bean>
       		</set>

还是那个文件,set中的?表示的是一个bean,我们向添加前面的文件路径一样Copy Qualified Name它的路径下来粘贴就行了。
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41083009/article/details/93342290
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢