gpt4 book ai didi

java - 有什么简单的方法可以测试 @RequestBody 方法吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:19 25 4
gpt4 key购买 nike

如果我有一个 @Controller 方法,其参数是一个 @RequestBody 参数,我通常必须编写一些 jQuery 脚本或类似的东西来执行 AJAX 请求 JSON 对象,以便调用该方法。如果我尝试直接通过 Web 浏览器调用该方法,它会返回错误 415 Unsupported Media Type

是否可以使用浏览器快速调用此类方法而无需编写一些 jQuery 代码?就像在 URL/地址栏中编写 JSON 对象的方法?

代码:

@RequestMapping("testCall")
@ResponseBody
public List<TestObject> getTestCall (@RequestBody TestParams testParams) {
return stuff;
}

public class TestParams {
private Integer testNumber;
//getter/setter for testNumber
}

我想也许我可以这样做:

http://localhost/testCall?testNumber=1

也许 Spring 会自动填充一个新的 TestParams 实例,并将该属性设置为 1,但这没有用...

也许我需要为此做些额外的事情?

最佳答案

@RequestBody 注释参数的全部意义在于 Spring MVC 堆栈使用 HTTP 请求主体生成将绑定(bind)到参数的参数。因此,您需要提供请求正文。发送请求正文对于 GET 请求来说是非常不典型的。因此,浏览器通常不支持它,至少在地址栏中输入地址并提交请求时不支持。

您需要使用不同的 HTTP 客户端,例如 jQuery。我通常在 Eclipse 中有一个小型 Java 项目,该项目使用 Apache HTTP 组件客户端设置,该客户端可以将 HTTP 请求发送到任何服务器。设置正确的请求正文并运行需要几秒/分钟。

关于java - 有什么简单的方法可以测试 @RequestBody 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22902372/

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