java - 我无法在方法中包含 @RequestBody 的 SoapUI 中测试 Rest 帖子,感谢任何帮助
问题描述
@RequestMapping(value="/postdata", method= RequestMethod.POST, consumes="application/json")
public String postdata(@RequestBody String test, @RequestBody String data) {
logger.info("password reset Request " + requestbody.get("test"));
logger.info("password reset Request " + data);
return "Hello";
}
已解决 [org.springframework.http.converter.HttpMessageNotReadableException:缺少所需的请求正文:public java.lang.String mail.controller.EmailNotifictaionController.postdata(java.lang.String,java.lang.String)]
我在 SOAPUI 中的输入是 { "test":"my", "data":"god" }
解决方案
您使用的是两个@RequestBody
,这是不正确的方法,因为一个请求只能有一个请求正文。
您可以将两个请求主体组合成单个请求主体,也可以构建一个包含test
和data
变量的包装类,例如:
public class Body {
public String test;
public String data;
// You can also keep them private and have getters/setters.
}
并在 API 方法参数中使用此类
@RequestMapping(value="/postdata", method= RequestMethod.POST, consumes="application/json")
public String postdata(@RequestBody Body body) {
logger.info("password reset Request " + body.test);
logger.info("password reset Request " + body.data);
return "Hello";
}
你可以试试这个方法,应该可以的。
推荐阅读
- javascript - 获取数组中某个元素的值
- rest - SOAP 是唯一与服务相关的 OPC UA 实现吗?它与 Rest 相比如何?
- java - 未找到 Java org.apache.http.ssl.SSLContext
- javascript - Javascript - 查看数字列表时如何返回 Nan
- node.js - 错误:4 DEADLINE_EXCEEDED:CloudRUN 已超过截止日期
- android - 如何在库模块中为 firebase 性能监视器添加自定义跟踪?
- swiftui - 带有#available 的条件修饰符未正确执行
- javascript - 如何在js中对根对象做getter?
- python - 根据 Python 中的参数数量调用函数
- python - 这个算法中的 Python 尾递归优化?