gpt4 book ai didi

java - RestController 与 GET + POST 相同的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:58:02 24 4
gpt4 key购买 nike

我想创建一个方法并使用 spring-mvc 在其上配置 GET + POST:

@RestController
public class MyServlet {
@RequestMapping(value = "test", method = {RequestMethod.GET, RequestMethod.POST})
public void test(@Valid MyReq req) {
//MyReq contains some params
}
}

问题:对于上面的代码,任何 POST 请求都会导致一个空的 MyReq 对象。

如果我将方法签名更改为 @RequestBody @Valid MyReq req,则帖子有效,但 GET 请求失败。

如果将 bean 用作输入参数,那么是不是可以在同一个方法上同时使用 get 和 post?

最佳答案

您的问题的最佳解决方案似乎是这样的:

@RestController
public class MyServlet {
@RequestMapping(value = "test", method = {RequestMethod.GET})
public void testGet(@Valid @RequestParam("foo") String foo) {
doStuff(foo)
}
@RequestMapping(value = "test", method = {RequestMethod.POST})
public void testPost(@Valid @RequestBody MyReq req) {
doStuff(req.getFoo());
}
}

您可以根据接收方式以不同方式处理请求数据,并调用相同的方法来执行业务逻辑。

关于java - RestController 与 GET + POST 相同的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44389498/

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