springMVC的参数自动封装之坑2

15 篇文章 0 订阅

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

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值