Java 相当于MOXy中Jackson的ACCEPT_SINGLE_VALUE_AS_数组?

Java 相当于MOXy中Jackson的ACCEPT_SINGLE_VALUE_AS_数组?,java,rest,jersey,moxy,Java,Rest,Jersey,Moxy,我正在使用Jersey 2.10.4和EclipseLink 2.5.2,它们都与GlassFish 4.1捆绑在一起。我使用MOXy进行JSON解组。我希望有一个REST web服务,它使用单个资源或相同类型的多个资源数组 不可能使用两种不同的JAX-RS方法和这样的签名我用一个通用的客户示例替换了我的实际资源/URL-由于URL/媒体类型组合的模糊性,该类使用JAXB注释资源模型具有用于HTTP方法POST和输入mime类型的模糊子资源方法…: 一, 二, 但如果我只使用两个签名中的一个,我

我正在使用Jersey 2.10.4和EclipseLink 2.5.2,它们都与GlassFish 4.1捆绑在一起。我使用MOXy进行JSON解组。我希望有一个REST web服务,它使用单个资源或相同类型的多个资源数组

不可能使用两种不同的JAX-RS方法和这样的签名我用一个通用的客户示例替换了我的实际资源/URL-由于URL/媒体类型组合的模糊性,该类使用JAXB注释资源模型具有用于HTTP方法POST和输入mime类型的模糊子资源方法…:

一,

二,

但如果我只使用两个签名中的一个,我无法让服务同时接受单个资源元素和元素数组:

如果我使用签名1,我会得到这样一个ClassCastException:当客户端发送一个数组而不是单个元素时,不能将Customer转换为java.util.Collection

如果使用签名2,则会得到一个IllegalArgumentException:当客户端发送单个元素而不是数组时,参数类型不匹配

我发现了一个问题,它告诉我在Jackson中,有一个特性ACCEPT_SINGLE_VALUE_AS_ARRAY似乎正好解决了这个问题。我在莫西找不到一个等价物,有没有办法做到这一点

@POST
@Path( "customers" )
@Consumes( { MediaType.APPLICATION_JSON } )
public void addCustomer( Customer newCustomer )
{
  [...]
}
@POST
@Path( "customers" )
@Consumes( { MediaType.APPLICATION_JSON } )
public void addCustomers( List<Customer> newCustomers )
{
  [...]
}