【发布时间】:2020-05-13 02:14:06
【问题描述】:
这似乎是几乎任何 Java 项目都需要的一个非常普遍的东西。然而我找不到任何可以达到这个目的的东西。
我曾经使用一个名为 Stripes Framework 的网络框架,它具有注释驱动的验证器,并通过其验证器 API 自动格式化。
示例:
@Validate(maxlength = ModelConstants.NAME_MAX_LENGTH, converter = CapitializeFullyTypeConverter.class)
private String name;
@Validate(maxlength = ModelConstants.NAME_MAX_LENGTH, converter = EmailTypeConverter.class)
private String email;
这些字段将在您的控制器操作 bean 上定义,所有用户输入都将根据指定的规则自动进行验证和格式化。
如果有人将他们的电子邮件地址输入为:“TEST@TEST.COM” 然后它会自动格式化为:“test@test.com”
我想找到类似的东西来自动格式化 DTO 中的数据。
如果没有这样的东西可用,通常的处理方法是什么?肯定不是每个人都在为 DTO 中的每个 getter 编写自定义格式化函数吗?
【问题讨论】:
-
您使用的是 Spring Boot 还是 Spring MVC?您的 conversions 是否应该仅适用于从请求字符串到 DTO 字符串,即在请求反序列化期间进行清理?什么是用户输入:HTTP request-parameters 还是 request-body(例如 JSON/XML)?
标签: java spring spring-mvc dto