Spring Boot (二十九)——使用类型转换器

类型转换主要用在日期上,前端传来一个日期,后端如何来接收呢?

下面看一个简单的例子:

定义一个接口,方法接收一个Date类型的参数:

@RestController
public class UserController {
    @GetMapping("/hello")
    public void hello(Date date){
        System.out.println(date);
    }
}

前端访问时传入一个date类型的值:
在这里插入图片描述
可以看到,日期类型转换异常导致请求失败了,我们可以自定义一个日期的类型转换器来解决这个问题:

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

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

@Component
public class DateConvert implements Converter<String, Date> {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    @Override
    public Date convert(String source) {
        if(source != null && !"".equals(source)){
            try {
                Date date = sdf.parse(source);
                return date;
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}

再次访问,就OK了!
在这里插入图片描述

发布了60 篇原创文章 · 获赞 0 · 访问量 543

猜你喜欢

转载自blog.csdn.net/weixin_44075963/article/details/103935819