gpt4 book ai didi

spring - 在 spring mvc3 中同时使用 @RequestBody 和 @RequestParam

转载 作者:行者123 更新时间:2023-12-03 12:15:43 52 4
gpt4 key购买 nike

我正在使用 spring-mvc 3.1.0.版本出于某种原因,使用查询参数和请求正文映射 POST 不起作用。

这是我的 Controller 方法的外观:

  @RequestMapping(method = POST, value = "/post-to-me/") 
public void handlePost(
@RequestBody Content content,
@RequestParam("param1") String param1,
@RequestParam("param2") String param2
){
//do stuff
}

但是,如果我将所有请求参数转换为路径参数,则映射有效。有没有人遇到过类似的事情?

谢谢!

编辑:
“不起作用” == 404 当我尝试这样做时, POST /post-to-me?param1=x&param2=y

最佳答案

首先,您的 POST url 与 Controller 方法 url 不匹配,您的 POST url 必须是“/post-to-me/?param1=x&param2=y”而不是“/post-to-me?param1=x&param2=y”

二、Content类从何而来??我使用了一个字符串并且对我来说很好用

@RequestMapping(method = RequestMethod.POST, value = "/post-to-me/")
public void handlePost(@RequestBody String content,
@RequestParam("param1") String param1,
@RequestParam("param2") String param2, HttpServletResponse response) {
System.out.println(content);
System.out.println(param1);
System.out.println(param2);
response.setStatus(HttpServletResponse.SC_OK);
}

请注意,我使用 HttpServletResponse 返回 HTTP 200 代码,但我认为返回 Http 代码有更好的解决方案,请查看: Multiple response http status in Spring MVC

关于spring - 在 spring mvc3 中同时使用 @RequestBody 和 @RequestParam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10216311/

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