时间:2010-07-26 17:32:00

标签: java spring spring-mvc

2 个答案:

答案 0 :(得分:17)

答案 1 :(得分:2)

@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<String, String> 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<String, String> register(Model uiModel,
                                    @RequestBody User user,
                                    HttpServletRequest httpServletRequest) {...

希望这有帮助。