我正在编写一个应该接受类型 Object[] 的 Web 服务。它具有通用性,需要在不同的场景中接受不同数量和类型的参数。
请求对象如下所示:
@XmlRootElement
public class SimilarityRequest {
private Object[] params;
private String similarity;
public Object[] getParams() {
return params;
}
public void setParams(Object[] params) {
this.params = params;
}
public String getSimilarity() {
return similarity;
}
public void setSimilarity(String similarity) {
this.similarity = similarity;
}
}
这是网络服务:
@SessionScoped
@Path("/similarity/")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Stateful
@StatefulTimeout(600000) // 10 minutes
public class SimilarityResource {
@POST
@Path("/")
public List<SimilarityResult> universalSimilarity(JAXBElement<SimilarityRequest> sr) {
Object[] params = sr.getValue().getParams();
String similarity = sr.getValue().getSimilarity();
}
}
我不知道在这种情况下它接受什么 json 作为参数?我试过了"params":{5,10}
,"params":{"0":5,"1":10}
还有"params":[5,10]
。有些东西会抛出 500 和 400 (错误的请求)。有任何想法吗?