学习Spring的@RequestBody和@RequestParam

我正在编辑一个使用Spring的Web项目,我需要添加一些Spring的注释。 我要添加的两个是@RequestBody和@RequestParam 。 我一直在探索一下并找到了这个 ,但我仍然不完全理解如何使用这些注释。 有人能提供一个例子吗?

控制器示例:

 @Controller class FooController { @RequestMapping("...") void bar(@RequestBody String body, @RequestParam("baz") baz) { //method body } } 

@RequestBody :变量体将包含HTTP请求的主体

@RequestParam :变量baz将保存请求参数baz的值

@RequestParam带注释的参数链接到特定的Servlet请求参数。 参数值将转换为声明的方法参数类型。 此批注指示应将方法参数绑定到Web请求参数。

例如,对Spring RequestParam的Angular请求看起来像这样:

 $http.post('http://localhost:7777/scan/l/register', {params: {"username": $scope.username, "password": $scope.password, "auth": true}}). success(function (data, status, headers, config) { ... }) @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/register") public Map register(Model uiModel, @RequestParam String username, @RequestParam String password, boolean auth, HttpServletRequest httpServletRequest) {... 

@RequestBody带注释的参数被链接到HTTP请求主体。 使用HttpMessageConverters将参数值转换为声明的方法参数类型。 此批注指示应将方法参数绑定到Web请求的主体。

例如,Spring RequestBody的Angular请求看起来像这样:

 $scope.user = { username: "foo", auth: true, password: "bar" }; $http.post('http://localhost:7777/scan/l/register', $scope.user). success(function (data, status, headers, config) { ... }) @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/register") public Map register(Model uiModel, @RequestBody User user, HttpServletRequest httpServletRequest) {... 

希望这可以帮助。