H5W3
当前位置:H5W3 > java > 正文

【Java】@RequestBody参数封装

在看别人的代码时,对于请求参数的封装是这样的写的:

@RequestMapping(value = "/getUserInfo", method = { RequestMethod.POST, RequestMethod.GET }, name="getUserInfo")
public String getUserInfo(@RequestBody User user, List<String> list, int[] num, String str) {
}

这里使用 @RequestBody 来获取请求体中封装的 json 对象。 但是后面又跟了一个或多个参数,这里让我很迷惑。

除了第一个参数加了 @RequestBody 注解,其他参数并没有加注解。

这些参数是如何封装解析的? 代码中并没有做特殊的配置,所以也没法贴出更多的代码。

回答

建议看看springMVC的源码。

没加注解的参数,在控制器实际调用时应该都是null吧。
这么设计应该是方便其它控制器方法调用,传递定制化参数

应该只有 user和str 这两个参数可以接收到。
user在body传输过来,str从url传

没用使用@RequestBody的形参可以通过URL传值设置进去

@RequestBody其实也可以省略。

本文地址:H5W3 » 【Java】@RequestBody参数封装

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址