我正在开发一个参数如下的JAX-RS程序。
@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
private String[] name;
它接受字符串和字符串数组。两者最终都转换为Array。
是否有任何这样的注释既可以接受字符串又可以接受字符串数组,并且不将其更改为任何其他类型,因为我希望我的程序接受“ name”参数作为字符串和字符串数组并保留其数据类型?
答案 0 :(得分:1)
不幸的是,这是不可能的,因为没有String
和String[]
的共同祖先类型(Object除外,这将使其完全无用)。但是,如果您确实想执行此操作,则可以在pojo上创建一个getter方法,该方法将返回一个或另一个:
public Object getStringOrArrayName() {
return (name.length == 1) ? name[0] : name;
}