Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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启动JSON Post 400错误_Java_Jquery_Json_Spring_Spring Boot - Fatal编程技术网

Java Spring启动JSON Post 400错误

Java Spring启动JSON Post 400错误,java,jquery,json,spring,spring-boot,Java,Jquery,Json,Spring,Spring Boot,我无法将JSON数组发布到Spring Boot@RequestMapping Rest控制器。收到400个错误请求。有什么建议可以纠正吗 JQuery.ajaxPost var sData = ["15957.028", "16356.175", "16937.155", "17564.315", "17942.480", "17760.259", "16572.306", "16746.408", "17339.681", "17946.216"] $.ajax({ type:

我无法将JSON数组发布到Spring Boot@RequestMapping Rest控制器。收到400个错误请求。有什么建议可以纠正吗

JQuery.ajaxPost

var sData = ["15957.028", "16356.175", "16937.155", "17564.315", "17942.480", "17760.259", "16572.306", "16746.408", "17339.681", "17946.216"] 

$.ajax({
    type: "POST",
    url: "/regression", 
    data: JSON.stringify({"sdata": sData}),
    contentType: 'application/json',
    headers: { 'X-CSRF-Token': token },
    error: function(jqXHR, textStatus, errorThrown) {
          console.log(textStatus, errorThrown, jqXHR.error());
    },
    success: function(){

    }
});
@RestController

@RequestMapping(value="/regression", method = RequestMethod.POST)
public HashMap<String, String> results(@RequestBody List<String> series )  {

    HashMap<String, String> results = new HashMap<String, String>();

    return results;

}

您需要将列表包装到另一个类中,如下所示

class SeriesWrapper{
  @Getter @Setter private List<String> series;
}

您尝试发布的sData不是JSON格式,您尝试将其发布为JSON

data: JSON.stringify({"sdata": sData}),
    contentType: 'application/json',
因此出现400错误

正确的JSON格式示例:

{ "firstname" : firstname, "lastname" : lastname, "email": email, "phone": phone, "company": company};

你从弹簧日志中得到了什么?有线索吗?无论如何,您可能需要一个包装器对象,因为您传递的json是一个包含Java端的array propertyNo错误的对象。我确实尝试使用显式类,但结果相同。尝试从jquery传递:
data:sData
var sData = {series : ["15957.028", "16356.175", "16937.155", "17564.315", "17942.480", "17760.259", "16572.306", "16746.408", "17339.681", "17946.216"]};
data: JSON.stringify({"sdata": sData}),
    contentType: 'application/json',
{ "firstname" : firstname, "lastname" : lastname, "email": email, "phone": phone, "company": company};