Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring RESTful web服务POST对象_Java_Json_Spring_Rest_Gson - Fatal编程技术网

Java Spring RESTful web服务POST对象

Java Spring RESTful web服务POST对象,java,json,spring,rest,gson,Java,Json,Spring,Rest,Gson,Spring和Gson在将对象发布到服务器时遇到问题。我得到的结果是空的,即使它包含数据 此代码段来自Restful web服务: @RequestMapping("/summe") public @ResponseBody String summe(ArrayList<ServiceSettingsListItem> list) { return "Greeting.summe() = <" + list + ">" + list.size();

Spring和Gson在将对象发布到服务器时遇到问题。我得到的结果是空的,即使它包含数据

此代码段来自Restful web服务:

    @RequestMapping("/summe")
    public @ResponseBody String summe(ArrayList<ServiceSettingsListItem> list) {
    return "Greeting.summe() = <" + list + ">" + list.size();   
}

我希望得到两个结果,但结果显示为0。

而不是发布
ServiceSettings
对象,您需要发布
项目
元素,因为控制器希望有效负载是一个列表。请尝试以下操作:

ServiceSettings serviceSettings = gson.fromJson(fileContent, ServiceSettings.class);
String baseUrl = serviceSettings.getUrl();
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.postForObject(baseUrl, serviceSettings.getItems(), String.class); //Assuming there is a getter for items
{"url":"http://localhost:8080/summe",
"test":123,
"items":[
 {"name":"name1","value":5},
 {"name":"name1","value":6}
 ]
}
ServiceSettings serviceSettings = gson.fromJson(fileContent, ServiceSettings.class);
String baseUrl = serviceSettings.getUrl();
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.postForObject(baseUrl, serviceSettings.getItems(), String.class); //Assuming there is a getter for items