我希望像参数一样将一个Array传递给带有Jersey的RESTful webservice。我有一个多选择表单,用户可以选择多个选项。然后我使用AJAX将选定的值传递给RESTful Web服务。
这是选择:
<select id="u" multiple class="form-control">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
jquery js:
$('#send').on('click', function() {
$.ajax({
url: "/pc/ws/ms/save-options",
contentType: "application/x-www-form-urlencoded",
cache: false,
type: "POST",
data: {
ur: $('#u').val()
}
});
});
我不知道如何在web服务方法上指示接收是一个数组
答案 0 :(得分:0)
如果您正在使用Maven和Jersey,我们可以添加这个maven依赖项,其中包括Jackson lib:
<properties>
...
<dependency.jersey.version>1.18.1</dependency.jersey.version>
...
</properties>
+
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>${dependency.jersey.version}</version>
</dependency>
和类似于这个的代码(未经测试!)也许可以解决这个问题:
@POST
@Path("/save-options")
@Consumes(MediaType.APPLICATION_JSON)
public Response getMyValues(Collection<Integer> values) {
// Do whathever I want with my values
...
}