Отправка Restangular DELETE или customDELETE с телом


Когда я попал в api с:

Как я могу попасть в api (не из приложения angular) с помощью:

Apiadress / endpoint / idnumber/?param=param

С удалением все работает нормально и как и ожидалось. но когда я делаю это из Restangular, как это:

Restangular.one("endpoint").customDELETE(idnumber,params)

Я получаю такой ответ от сервера:

"detail": "неподдерживаемый тип носителя' text / plain; charset=UTF-8 ' в запросе."

Похоже, что удаление идет с телом на сервер, и я не могу найти, как это сделать. сила пустого тела.

(я видел это в других вопросах, поэтому я скажу, что заранее, да api находится в другом порту в моей машине dev, и у меня есть:

config(['$httpProvider', function($httpProvider) {
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
    }
    ])

Мне нравится Restangular, но эта проблема продолжает меня кусать. Спасибо!

3 2

3 ответа:

Ваша проблема заключается в типе контента, а не в том, что в запросе нет тела. (По крайней мере, я понял это из вашего вопроса.)

Попробуйте определить заголовок типа контента по умолчанию, который также должен использоваться Restangular:

RestangularProvider.setDefaultHeaders({'Content-Type': 'application/json'});

Попробуйте это.

var restMyService = Restangular.all("MyService");
restMyService.customDELETE("myPath",{pramOne: $scope.pramOne},
                            {'Content-Type': 'application/json'},
                             idnumber)
                          .then(function(res){
                               //To DO - Success
                           }, 
                           function errorCallback() {
                               //TODO Error Handle
                           } 
                          );

Если вы хотите добавить полезную нагрузку запроса с customDelete, вы должны использовать это:

Restangular.all('path').customDELETE('', {}, {}, payloadObject);

*Этот метод не добавляет параметры полезной нагрузки в URL, этот метод добавляет объект полезной нагрузки в тело.