1、’用bootstrapTable的queryParams传输参数时,一定注意是method是post还是get,
后台接收要与前台的传输方式对应。
2、如果是用post,一般后台方法中参数不复杂,直接用一个简单的bean接收,那也没什么事情。但是在方法中参数比较复杂时,那就纯在后台接收不到参数的问题。
比如后台方法中参数与bean又有其他String 、int、数组、list,bean又有其他实体等,这时候在bootstrapTable的初始化属性中必须加contentType:‘application/json’ data类型为json, 数据要转成json字符串(JSON.stringify(data)),不能是json对象不然后台找不到参数。
3、还有就是自动封装的时候类型转化错误,容易错的是时间类型。
因为前台传过去的是时间类型的字符串,所以在转陈时间的时候会报bad request。
解决方法,加@dateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 这个注解可以吧String-》date。
或者自己写一个转化器
<!-- 注册转化器与验证器 -->
<mvc:annotation-driven conversion-service="conversion-service" validator="validator" />
<!-- 转换器服务工厂Bean -->
<bean id="conversion-service"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.neuedu.crm.utils.DateConverter" />
</set>
</property></bean>
(ps:配置注册也可以用注解方式@InitBinder)
/
Date-》string
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")//注意时区问题
springboot可以在application.properties中配置:spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8