ajaxangularjsasp.net-mvc-apiexplorer

Deleting multiple Record with apiController and angular


how to Deleting multiple Record with apiController and angular ?

I've tried the following. But I did not succeed

api controller :

 public class NewsCategoriesController : ApiController
    {
        private readonly IJN_NewsCategoriesService _ijnNewsCategoriesService;

        public NewsCategoriesController(IJN_NewsCategoriesService ijnNewsCategoriesService)
        {
            _ijnNewsCategoriesService = ijnNewsCategoriesService;
        }
        public void Delete(int id)
        {
           _ijnNewsCategoriesService.DeleteNewsCategory(id);
        }
        public void ManyDelete(DeleteViewModel ids)
        {
            var d = ids;
        }
    }
    public class DeleteViewModel
    {
        public int[] ids { get; set; }
    }
}

ajax methods :

deleteNewsCategories: function (id) {
                    return $http({
                        method: 'DELETE',
                        url: '/api/newsCategories/' + id
                    });
                },

deleteManyNewsCategories: function (ids) {
                    return $http({
                        method: 'DELETE',
                        url: '/api/newsCategories/' + JSON.stringify(ids),
                        traditional: true
                    });
                }

Delete a record works properly. To delete multiple record, the following error occurs:

    Failed to load resource: the server responded with a status of 400 (Bad Request)
 http://localhost:25768/api/newsCategories/[12,26]

Solution

  • The problem was solved.

     public void Delete(int id)
        {
           _ijnNewsCategoriesService.DeleteNewsCategory(id);
        }
        public void DeleteModels(DeleteViewModel dvm)
        {
            var d = dvm;
        }
    
    
          public class DeleteViewModel
            {
                public int[] Ids { get; set; }
            }
    

    $http methods for delete:

                 deleteNewsCategories: function (id) {
                    return $http({
                        method: 'DELETE',
                        url: '/api/newsCategories/' + id
                    });
                },
    
                deleteManyNewsCategories: function (ids) {
                    return $http({
                        headers: {
                            'Content-type': 'application/json'
                        },
                        method: "DELETE",
                        url: "/api/newsCategories/",
                        data: { Ids: ids }
                    });
                }