5

のスクリプトArrayintに渡したいと思いSpring Controllerます。しかし、私は得続けます

400 bad request.

私のjs array場合

array = [1,2,3,4]
array -> 400 bad request
JSON.Stringify(array) -> I will get [1,2,3,4]

    $.ajax({//jquery ajax
                data:{"images": array},                
                dataType:'json',
                type:"post",
                url:"hellomotto"
                ....
            })

string List..をループすると、最初の要素は'[1'

@RequestMapping(value = "/hellomotto", method = Request.POST)
public void hellomotto(@RequestParam("images") List<String> images){
 sysout(images); -> I will get [1,2,3,4]
}

パブリックボイド

どうすればこれを適切に行うことができますか?いろいろ組み合わせてみました

4

3 に答える 3

0

私はあなたが欲しいと思うAjax呼び出し、ajaxを介して、整数のリストを送信しているので、春にはコントローラーが

@RequestMapping(value = "/hellomotto", method = Request.POST)
@ResponseBody
public void hellomotto(@RequestParam("images") List<Integer> images){
 sysout(images); -> I will get [1,2,3,4]
}

*コードに@ResponseBodyがありません

于 2013-10-18T08:35:04.457 に答える
0

@RequestParam はリクエストパラメーターをバインドするために使用されるため、次のような場合

@RequestMapping(value = "/hellomotto", method = Request.POST)
public void hellomotto(@RequestParam("image") String image){
     ...
}

/hellomotto?image=test に投稿すると、hellomotto メソッドの画像変数には「test」が含まれます。

やりたいことは Request body を解析することなので、 @RequestBody アノテーションを使用する必要があります。

http://docs.spring.io/spring/docs/3.0.x/reference/mvc.html#mvc-ann-requestbody

jsonオブジェクトをJavaオブジェクトに解析するためにjackson labraryを使用しています(依存関係として含める必要があります)。

于 2013-10-18T04:09:23.547 に答える