gpt4 book ai didi

java - 如何在curl中调用具有两个请求正文参数的endPoint

转载 作者:行者123 更新时间:2023-11-30 05:46:01 25 4
gpt4 key购买 nike

我定义了一个这样的方法

@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);
}

我使用这样的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"

然后我收到了这样的错误

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;
}
}

关于java - 如何在curl中调用具有两个请求正文参数的endPoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54830028/

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