Включая заполнитель изменяет метод ngResource save () с POST на GET

0

действительно простой пример. У меня есть RESTful api, и я настраиваю свой ресурс следующим образом.

app.factory('apiFactory' , ['$resource', 'GLOBALS', 
    function($resource, GLOBALS){
        return {
            Discounts: $resource(GLOBALS.apiPath + 'discounts/:id', {id:'@id'}, {update:{method: 'PUT'}})
        }     
    }
])

И затем я называю это в контроллере, например

var discountResponse = apiFactory.Discounts.save($scope.discount);

Все работает нормально, пока я не добавлю "/: id" в свой URL. Я делаю это так, чтобы мой метод удаления передавал идентификатор. Как и "скидки /6".

Проблема, которая у меня есть, заключается в том, что как только я добавляю заполнитель, метод save() отправляет GET вместо POST.

Request URL:http://local:8089/api/discounts
Request Method:GET
Status Code:200 OK

Если я удалю заполнитель, я получу

Request URL:http://local:8089/api/discounts
Request Method:POST
Status Code:200 OK

И все отлично работает, принимайте запрос на удаление, который теперь не отображает местозаполнитель, поскольку он больше не существует.

Я понятия не имею, почему. Я новичок в $ resource, поэтому я очень уверен, что не понимаю что-то.

Теги:
rest
crud
ngresource

1 ответ

0

Ответ был предоставлен по другому сформулированному вопросу, и я думал, что поделюсь им.

return {
        Discounts: $resource(GLOBALS.apiPath + 'discounts/:id', {id:'@id'} ,{
            save: { 
                method: 'POST', url: GLOBALS.apiPath + "discounts" 
            },
            update: {
                method: 'PUT', url: GLOBALS.apiPath + "discounts/:id" 
            }
        })
    }

Похоже, что для сохранения() в POST я должен был определить путь в объекте customConfig. Я не уверен, почему это не сработало для меня из коробки.

Ответ был предоставлен здесь. Большое спасибо!
ngResource save() странное поведение

Ещё вопросы

Сообщество Overcoder
Наверх
Меню