【问题标题】:How to create ajersey restful method that can accept three arrays of strings如何创建可以接受三个字符串数组的 ajersey restful 方法
【发布时间】:2017-02-24 12:25:57
【问题描述】:

我一直在尝试将字符串数组发送到一个安静的服务,但没有任何运气。我写了这个

@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:应用程序资源模型的验证在应用程序初始化期间失败。 [[致命] 找不到类型参数的注入源 public java.lang.String UploadBackgroundFile.getBackgroundImages(java.lang.String[],java.lang.String[],java.lang.String[])

如果我将参数更改为普通字符串并从 javascript 端发送字符串,则该方法将起作用。

所以问题是如何从 jquery ajax 向 jersey restful 方法发送和接收字符串数组。

关于,

es

【问题讨论】:

    标签: javascript java rest jersey


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 2011-11-28
      • 2018-12-16
      相关资源
      最近更新 更多