javascript如何创建可以接受三个字符串数组的ajersey restful方法
我一直在尝试将字符串数组发送到restful服务,但没有任何运气。这是我写的
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getBackgroundImages(@QueryParam("missions") String[] missions,
@QueryParam("objects")String[] objects,
@QueryParam("dates")String[] dates) {
........
return generateTxt();
}
在javascript方面,我有这个
var missions = new Array("One", "Two");
var objects = new Array("objOne" ,"objTwo");
var dates = new Array("1967-11-07","1977-12-17");
$.ajax({
url: "myurl/rest/UploadBackgroundFile/",
data: {'missions':missions,'objects':objects,'dates':dates},
success: function (data) {
arr = JSON.parse(data);
$('.container-fluid').css('background-image','url('+arr[0].img+')');
}
});
我的问题是,这是不工作,我得到这个例外
org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization. [[FATAL] No injection source found for a parameter of type public java.lang.String UploadBackgroundFile.getBackgroundImages(java.lang.String[],java.lang.String[],java.lang.String[])
如果我将参数更改为普通字符串并从javascript端发送字符串,那么该方法将起作用
因此,问题是如何从jQueryAjax向jersey restful方法发送和接收字符串数组
关于,
es
# 1 楼答案
在服务器端,必须将字符串数组更改为
List<String>
才能工作客户端,您可以看到this 来帮助您如何发送数据。我知道它的标题是编写PHP,但解释得很好