我正在开发一个 JAX-RS 程序,其中参数之一如下。
@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
private String[] name;
它接受字符串和字符串数组。最后两者都转为Array。
是否有任何这样的注释可以接受字符串和字符串数组,并且不将其更改为任何其他类型,因为我希望我的程序接受“name”参数作为字符串和字符串数组并保留其数据类型?
最佳答案
不幸的是,这是不可能的,因为 String
和 String[]
没有共同的祖先类型(除了 Object 之外,这将使其完全无用)。但是,如果您确实想这样做,您可以在 pojo 上创建一个 getter 方法,该方法将返回其中之一:
public Object getStringOrArrayName() {
return (name.length == 1) ? name[0] : name;
}
关于java - 编写接受字符串和字符串列表的 Jackson 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51195190/