gpt4 book ai didi

java - 如何从 Restful Web 服务中的 Http Post 获取数组?

转载 作者:行者123 更新时间:2023-11-30 08:06:57 25 4
gpt4 key购买 nike

我有一个用于 AngularJS 框架的 Controller 。我使用 Http Post Request 将数组发送到服务器。如何在 java 方法中获取此数组?

这是我的 Controller

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {

var indici = new Array();

indici.push(1);
indici.push(2);

$http.post("http://localhost:8080/SistemiDistribuiti/rest/Point/Trovati", indici, {
headers: { 'Content-Type': 'application/json' }
}).success(function(receivedData, status) {
$scope.someData = receivedData;
});

这是我的 java 类,但我不知道如何获取我的数组。

import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.POST;
import javax.ws.rs.Consumes;

@Path("Point")
public class PointService {


@POST
@Path("Trovati")
@Consumes(MediaType.APPLICATION_JSON)
public void RetrieveData() {
//how print my array?
}

最佳答案

你必须使用 @GET 如下:

@GET
@Path("/blabla")
public Response receiveListOfStrings(@QueryParam("list") final List<String> list){
log.info("receieved list of size="+list.size());
return Response.ok().build();
}

并要求:

GET http://example.com/services/echo?list=balbla&list=asdasd&list=BYE

Post 不支持这个。或者您可以使用具有复杂类型的 @PUT

例子:

@PUT
public Response putExample(MyObject obj) {
log.info("receieved list of size="+obj.getList().size());
return Response.ok().build();
}

在这个例子中你可以看到我使用了一个自定义的 MyObject 下面是它的代码:

public class MyObject{

private List<String> list = new ArrayList<String>();

public List<String> getList(){
return list;
}

public void setList( List<String> list ){
this.list = list;
}

@Override
public String toString(){
return "MyObject [list=" + list + "]";
}

}

如您所见,MyObject 类中有一个列表属性。因此,您可以通过调用 getList 来打印任何内容,就像我上面的示例一样。

关于java - 如何从 Restful Web 服务中的 Http Post 获取数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33995506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com