2016-06-23 2 views
1

Я пытаюсь добавить некоторые данные в базу данных с помощью HTTP PUT Request.HTTP PUT Запрос не разрешен

Вот формат JSON моей базы данных:

enter image description here

Что мне нужно сделать, это добавить еще один объект, 7: Object с названием «Новое правило» в rules массив из «Adobe Analytics».

У меня есть некоторый код, но он возвращает мне следующую ошибку:

Error: Request failed for https://example.com returned code 405. Truncated server response: HTTP method not allowed, supported methods: GET, POST (use muteHttpExceptions option to examine full response)

var restHeaders = {  
    'Key': "...", 
    'Authorization':'Bearer ...', 
    } 
    var request = { 
    "name": "Adobe Analytics", 
    "id": 3, 
    "rules":[ 
     { 
     "name": "New Rule", 
     "tags": [ 
      { 
      "tagId": 1, 
      "condition": false, 
      }, 
      { 
      "tagId": 1, 
      "condition": false, 
      } 
     ], 
     "ruleSetId": 3, 
     } 
    ] 
    } 
    var opt = { 
    'method': 'put', 
    'headers': restHeaders, 
    'contentType' : 'application/json', 
    'payload': JSON.stringify(request) 
    } 

ответ

1

Ошибка вы получаете говорит: "поддерживаются методы: GET, POST" в то время как ваш объект параметра

var opt = { 
    'method': 'put', 

использует 'PUT' как метод HTTP. После ошибки сервер не настроен для запросов PUT, а только для GET и POST.

+0

И есть ли другой способ, который позволяет мне использовать запрос «PUT»? – Valip

+1

Если сервер настроен на разрешение только запросов GET и POST/методов, то вы не можете использовать POST против него. Вам придется либо настроить сервер для приема метода/запросов PUT, либо использовать GET/POST на вашей стороне. Если у вас есть возможность использовать POST или GET, тогда я не вижу причин, почему вы не должны. Сервер примет ваш запрос, и ваша работа будет выполнена. – Strahdvonzar

+0

@PavelValeriu, почему вы думаете, что PUT должен быть принят? Что предлагают документы API? – Jonathon