在下面的示例中,我尝试通过POST和GET请求初始化变量,如下所示。来回请求,我想发例如1332 所以当我执行GET请求时,我应该得到相同的数字1332
现在,当应用程序针对发布请求运行时,我收到了来自邮递员的错误
"error": "Bad Request",
"message": "Required request body is missing: public void com.example.callwithparameters.controller.Call1.initparam1(java.lang.String)",
请让我知道如何解决此错误并执行正确的POST请求
Controller1
@Controller
@ResponseBody
@RequestMapping("/call1")
public class Call1 {
public String str = "inti";
@RequestMapping(value = "/initparam1", method = RequestMethod.POST)
public void initparam1(@RequestBody String val) {
this.str = val;
}
@RequestMapping("/getparam1")
public String getParam1() {
return this.str;
}
}
post_request_postman
http://localhost:8085/call1/initparam1?1332
result:"error"
get_request_postman
http://localhost:8085/call1/getparam1
result:init
答案 0 :(得分:0)
在您的URL中,您将字符串作为Query
或URL
参数传递,而不是在RequestBody
中传递
http://localhost:8085/call1/initparam1?1332
因此,将@RequestBody
更改为@RequestParam("str")
并发出如下请求:
http://localhost:8085/call1/initparam1?str=1332
OR 在请求正文中传递
答案 1 :(得分:0)
在邮递员中,您必须将请求类型更改为“ POST”。您可以将正文类型指定为“ RAW”数据,并提供您的值作为正文。