Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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 如何在curl中调用具有两个请求主体参数的端点_Java_Spring_Rest_Curl - Fatal编程技术网

Java 如何在curl中调用具有两个请求主体参数的端点

Java 如何在curl中调用具有两个请求主体参数的端点,java,spring,rest,curl,Java,Spring,Rest,Curl,我定义了这样一个方法 @RequestMapping(value="/multiRquestBody",method=RequestMethod.POST) public String multiRquestBodyMethod(@RequestBody String[] body1,@RequestBody String[] body2){ System.out.println("body1 : "+body1); System.out.println(

我定义了这样一个方法

@RequestMapping(value="/multiRquestBody",method=RequestMethod.POST)
    public String multiRquestBodyMethod(@RequestBody String[] body1,@RequestBody String[] body2){
        System.out.println("body1 : "+body1);
        System.out.println("body 2 : "+body2);
        return Arrays.toString(body1)+"------"+Arrays.toString(body2);
    }
The request sent by the client was syntactically incorrect.
我使用像这样的curl命令来调用该方法

curl -X POST  "http://localhost:7979/choudhury-rest/rest/book/multiRquestBody"     -d '["test","test","test"],["testing","testing string array"]' -H "Content-Type: application/json"
然后我犯了这样一个错误

@RequestMapping(value="/multiRquestBody",method=RequestMethod.POST)
    public String multiRquestBodyMethod(@RequestBody String[] body1,@RequestBody String[] body2){
        System.out.println("body1 : "+body1);
        System.out.println("body 2 : "+body2);
        return Arrays.toString(body1)+"------"+Arrays.toString(body2);
    }
The request sent by the client was syntactically incorrect.
我试过另一种方式,比如

curl -X POST  "http://localhost:7979/choudhury-rest/rest/book/multiRquestBody"     -d '["test","test","test"]&["testing","testing string array"]' -H "Content-Type: application/json"
但是,同样的问题正在出现
如何解决它

@RequestBody在理想情况下应该只在方法中使用一次,并保存整个请求体。在本例中,您可以创建一个包含两个字符串数组的对象,如下所示:

@RequestMapping(value="/multiRquestBody",method=RequestMethod.POST)
public String multiRquestBodyMethod(@RequestBody StringArraysBody body){
    System.out.println("body1 : "+body.getBody1());
    System.out.println("body 2 : "+body.getBody2());
    return Arrays.toString(body.getBody1())+"------"+Arrays.toString(body.getBody2());
}

public class StringArraysBody {
   String[] body1;
   String[] body2;

   public String[] getBody1() {
     return body1;
   }

   public String[] getBody2() {
     return body2;
   }
}

这可能是一个重复的帖子,请检查可能的重复感谢回复我知道这种方法,但我得到了定义一个方法的要求(与问题中相同),我需要调用它,所以有什么办法吗