学习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) {...
希望这可以帮助。