4

我正在编写一个新的 API 来使用 Slash Db 更新表中的一行(数据库是 oracle)。

在此处输入图像描述

我在创建 API 时选择了 PUT 方法。我仍然收到一个错误:

{"http_code": 405, "description": "此方法不允许用于查询:\"UPDATE_POS_TYPE_DDNOW\"。允许的方法:[\"PUT\"]。"}

关于这里可能出了什么问题的任何见解?

4

2 回答 2

1

看起来您正在 Query Studio 中进行测试,并且您正在使用不同的 http 方法发出请求,然后在侧面板中定义。

在执行表单中,确保下拉菜单中的 http 方法与侧面板中的 http 方法匹配。

在此处输入图像描述

于 2019-05-14T22:13:53.653 回答
0

作为一种替代方法,您可以避免完全定义查询并在数据发现中使用表/资源/字段端点。要更新单个记录的单个字段,只需向https://yourserver/db/CDHD/yourtable/id/1/pos_type发送 PUT 请求,其中 id 应该是表的主键列, pos_type 是要更新的字段。

以下示例为 Chinook 数据库的 Invoice 表中 InvoiceId = 1 的记录更新 BillingPostalCode 字段的值“456”。

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"}'

请参阅文档:

于 2019-05-15T13:33:45.810 回答