如何强制Jackson反序列化字段值为小写 [英] How to force Jackson deserialize field values to lower case
本文介绍了如何强制Jackson反序列化字段值为小写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个Spring应用程序,它公开了REST端点,让我们将其命名为"doAction".作为请求,它消耗对象:
I have spring application which expose REST endpoint, lets name it "doAction". As the request it consumes object:
class Person{
private String name;
private String email;
}
某些客户端可以通过传递数据的不同写法来调用此端点,例如:
Some clients can call this endpoint by passing data with different practice of writing words, like:
Peter_1
name = Peter
email = peter@gmail.com (lower case)
Mark_2
name = mark
email = MARK@gmail.com (upper case)
Julia_3
name = julia
email = JuliaToward@gmail.com (camel case)
是否有某种方法可以将所有收入数据解析为小写(假设所有字段均为字符串)?
因此,我希望拥有:
Peter_1
name = peter
email = peter@gmail.com
Mark_2
name = mark
email = mark@gmail.com
Julia_3
name = julia
email = juliatoward@gmail.com
杰克逊的解决方案受到赞赏.
Solution for Jackson is appreciated.
推荐答案
简短答案在二传手中呼叫tolower
Short answer Call toLower in the setter
这里是一个例子:
class Animal
{
private String name;
public void setName(final String newValue)
{
StringUtils.trimToNull(StringUtils.lowerCase(newValue));
}
}
我还建议 trimToNUll
或 trimToEmpty
.
这篇关于如何强制Jackson反序列化字段值为小写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文