Обновить данные с помощью SlashDb - PullRequest
4 голосов
/ 14 мая 2019

Я пишу новый API для обновления строки в таблице (база данных - oracle), используя Slash Db.

enter image description here

Я выбрал метод PUT при создании API. Я все еще получаю сообщение об ошибке:

{"http_code": 405, "description": "Этот метод запрещен для запрос: \ "UPDATE_POS_TYPE_DDNOW \". Разрешенные методы: [\ "PUT \"]. "}

Есть какие-нибудь идеи о том, что здесь может пойти не так?

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Похоже, что вы тестируете в Query Studio и делаете запрос с использованием другого метода http, чем тот, который указан на боковой панели.

В форме выполнения убедитесь, что метод http в раскрывающемся списке соответствует методу http на боковой панели.

enter image description here

0 голосов
/ 15 мая 2019

В качестве альтернативного подхода вы можете избежать полного определения запроса и использовать конечную точку таблицы / ресурса / поля в Обнаружении данных. Чтобы обновить одно поле отдельной записи, просто отправьте запрос PUT на https://yourserver/db/CDHD/yourtable/id/1/pos_type,, где id должен быть столбцом первичного ключа таблицы, а pos_type - это поле для обновления.

В следующем примере поле BillingPostalCode обновляется значением '456' для записи с InvoiceId = 1 в таблице счетов в базе данных Chinook.

curl https://demo.slashdb.com/db/Chinook/Invoice/InvoiceId/1/BillingPostalCode -XPUT -i -H 'Content-Type: application/json' -d '"456"'

Если вам нужно обновить более одного поля, сделайте запрос к конечной точке ресурса (отдельной записи) и отправьте объект JSON в качестве полезной нагрузки. Вот как обновить поля BillingPostalCode и BillngCountry для одной и той же записи одновременно:

    curl https://demo.slashdb.com/db/Chinook/Invoice/InvoiceId/1 -XPUT -i -H 'Content-Type: application/json' -d '{"BillingPostalCode": "456" "BillingCountry": "Germany"}'

См. Документы:

...