Angularjs 400删除时出现错误请求错误

Angularjs 400删除时出现错误请求错误,angularjs,spring,rest,request,http-delete,Angularjs,Spring,Rest,Request,Http Delete,我和我的M8正在使用Spring MVC、angularJS等为我们大学开发一个手稿处理系统。我们在从数据库中删除用户时遇到了一些问题 我们始终获得HTTP状态400-所需的字符串参数“userName”不存在 类型状态报告 消息所需的字符串参数“userName”不存在 说明客户端发送的请求在语法上不正确 控制器: @Secured({ "ROLE_ADMIN" }) @RequestMapping(value = "/delete/{userName}", method = RequestM

我和我的M8正在使用Spring MVC、angularJS等为我们大学开发一个手稿处理系统。我们在从数据库中删除用户时遇到了一些问题

我们始终获得HTTP状态400-所需的字符串参数“userName”不存在

类型状态报告

消息所需的字符串参数“userName”不存在

说明客户端发送的请求在语法上不正确

控制器:

@Secured({ "ROLE_ADMIN" })
@RequestMapping(value = "/delete/{userName}", method = RequestMethod.DELETE)
public void deleteUser(@RequestParam String userName) {
    LOGGER.info("Deleted user: " + userName);
    userManagerService.deleteUser(userName);
}
提交AdminService.js的方法:

function deleteUser(userName){
    $log.info("Delete selected user "+new Date());
    $http.delete('delete/'+userName).then(function(data){
        console.log(data);
    },function(error){
        $log.error("Error occured while admin tried to delete user "+new Date());
    });
}
修改admincontroller.js的方法

    vm.showModalUserDelete = function(index) {
    $log.info("Show user delete modal "+new Date());
    var modelInstance = $modal
            .open({
                animation : true,
                templateUrl : 'htmlcontent/content/admin/modal/userDeleteManageModal.html',
                controller : 'ManuscriptAdminModalinstacneController',
                controllerAs : 'ManuscriptAdminModalinstacneController',
                size : 300,
                resolve : {
                    items : function() {
                        return ManuscriptAdminService.getUserName(index);
                    }

                }
            });

    modelInstance.result.then(function (result) {
        ManuscriptAdminService.deleteUser(result);
        }, function () {
          $log.info('Modal dismissed at: ' + new Date());
        });

};

您正在
/delete/{userName}
中使用URI模板变量,因此需要对参数使用
@PathVariable
注释:

@Secured({ "ROLE_ADMIN" })
@RequestMapping(value = "/delete/{userName}", method = RequestMethod.DELETE)
public void deleteUser(@PathVariable String userName) {
    LOGGER.info("Deleted user: " + userName);
    userManagerService.deleteUser(userName);
}