网站租用 凡,网站空间多大,北京公司网站建设价格,电商网站建设课件使用场景
在Spring Boot应用中#xff0c;Formatter接口用于自定义数据的格式化#xff0c;比如将日期对象格式化为字符串#xff0c;或者将字符串解析回日期对象。这在处理HTTP请求和响应时特别有用#xff0c;尤其是在展示给用户或从用户接收特定格式的数据时。下面通过…使用场景
在Spring Boot应用中Formatter接口用于自定义数据的格式化比如将日期对象格式化为字符串或者将字符串解析回日期对象。这在处理HTTP请求和响应时特别有用尤其是在展示给用户或从用户接收特定格式的数据时。下面通过一个实际工作场景来展示如何创建自定义Formatter并应用它。
与转换器区别 Formatter就像Converter一样也是将一种类型转换成另一种类型。但是Formatter的源类型必须是一个String而Converter则适用于任意的源类型。Formatter更适合Web层而Converter则可以用在任意层中。
代码示例
创建Formatter
/*** 自定义日期格式化*/
public class CustomLocalDateFormatter implements FormatterLocalDate {private static final DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyyy-MM-dd);Overridepublic LocalDate parse(String text, Locale locale) throws ParseException {return LocalDate.parse(text, formatter);}Overridepublic String print(LocalDate date, Locale locale) {return formatter.format(date);}
}注册
Configuration
public class WebMvcConfig implements WebMvcConfigurer {Overridepublic void addFormatters(FormatterRegistry registry) {registry.addFormatter(new CustomLocalDateFormatter());}
}编写接口
RequestMapping(/mvc)
RestController
public class CustomConverterController {GetMapping(/formateDate)public String formateDate(RequestParam LocalDate date) {return Formatted Date: date;}
}测试
浏览器输入http://localhost:9000/mvc/formateDate?date2023-12-23
输出Formatted Date: 2023-12-23
如果输入的是错误格式http://localhost:9000/mvc/formateDate?date2023-12-45
会有400提示说明转换失败