有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    在服务器端,必须将字符串数组更改为List<String>才能工作

    客户端,您可以看到this 来帮助您如何发送数据。我知道它的标题是编写PHP,但解释得很好