Angularjs 在控制器ASP API中添加新方法后使用方法失败

Angularjs 在控制器ASP API中添加新方法后使用方法失败,angularjs,asp.net-web-api,Angularjs,Asp.net Web Api,首先,我在控制器api中有一个向数据库添加记录的方法。以下是我的方法: [HttpPost] public Response<UserView> AddUser(UserView user) { EntityFirstApp.User mappedUser = Mapper.Map <EntityFirstApp.User>(user); var entityUser = this._userService.Add

首先,我在控制器api中有一个向数据库添加记录的方法。以下是我的方法:

   [HttpPost]
    public Response<UserView> AddUser(UserView user)
    {
        EntityFirstApp.User mappedUser = Mapper.Map <EntityFirstApp.User>(user); 

        var entityUser = this._userService.AddUser(mappedUser);

        UserView userView = Mapper.Map<UserView>(entityUser);

        //// build response
        var response = new Response<UserView> { Model = userView };

        response.Messages.Add(new Message
        {
            MessageType = MessageType.Success,
            Value = "Success"
        });

        return response;
    }

我还是不明白为什么。任何帮助都将不胜感激。谢谢。

是“return userService;”导致了这个问题吗?在
DeleteUser
方法中使用
DELETE
HTTP动词不是更好吗?它听起来更安静一些?另外,如果您从400错误请求状态代码(可以在浏览器开发人员控制台的“网络”选项卡中看到)中显示服务器的确切响应,也会有所帮助。在我研究了一段时间后,问题是关于API的路由配置。默认映射器类似于'routeTemplate:'api/{controller}/{id}',所以这就是我不能在1controller类中使用2 post方法的方式。因此改为“routeTemplate:”api/{controller}/{action}/{id}“。
  [HttpPost]
    public Response<UserView> DeleteUser(Int64 Id)
    {
        var entityUser = this._userService.GetUserById(Id);
        this._userService.DeleteUser(Id);

       UserView userView = Mapper.Map<UserView>(entityUser);

      //// build response
        var response = new Response<UserView> { Model = userView };

       response.Messages.Add(new Message
       {
           MessageType = MessageType.Success,
           Value = "Success"
       });

        return response;
    }
    userModule.service('userService', userService);

userService.$inject = ['$http', '$q', 'commonEnum'];

function userService($http, $q, commonEnum) {

    var userService = {
        getAllUser: getAllUser,
        addUser: addUser,
        deleteUser : deleteUser
    }

    return userService;

    function getAllUser() {
        var deferred = $q.defer();
        $http({
            method: commonEnum.ajaxMethod.get,
            url: commonEnum.baseApiUrl.base + commonEnum.webApiUrl.getAllUser,
        })
            .success(onSuccess)
            .error(onError);

        function onSuccess(data) {
            deferred.resolve(data);
        }

        function onError() {
            deferred.reject();
        }

        return deferred.promise;
    }

    function addUser(user) {

        var deferred = $q.defer();
        $http({
            method: commonEnum.ajaxMethod.post,
            url: commonEnum.baseApiUrl.base + commonEnum.webApiUrl.addUser,
            data: user
        })
            .success(onSuccess)
            .error(onError);

        function onSuccess(data) {
            deferred.resolve(data);
        }

        function onError() {
            deferred.reject();
        }

        return deferred.promise;
    }

    function deleteUser(userId) {
        var parameters = {
            Id: userId
        }
        var deferred = $q.defer();
        $http({
            method: commonEnum.ajaxMethod.post,
            url: commonEnum.baseApiUrl.base + commonEnum.webApiUrl.deleteUser,
            params: parameters
        })
            .success(onSuccess)
            .error(onError);

        function onSuccess(data) {
            deferred.resolve(data);
        }

        function onError() {
            deferred.reject();
        }

        return deferred.promise;
    }
}