3

JSON本体でDELETEリクエストを必要とするAPIと通信しています。これはコンソールで機能します:

curl -XDELETE http://api.com/endpoint_path/rest_resource -d '{"items":[{"type":"type1","item_id":"item1"}]}'

HTTPリクエストを作成するためのほとんどのgemは、bodyを使用したDELETEリクエストをサポートしていないようです(RestClientとCurbを試しました)。Ruby gem(できればCurb)またはNet :: HTTPを使用してそれを行う方法はありますか?

4

3 に答える 3

6

HTTPartyを使用する1つの方法は次のとおりです。

HTTParty.delete("http://api.com/endpoint_path/rest_resource", { 
  :body => '{"items":[{"type":"type1","item_id":"item1"}]}'
})
于 2013-02-05T10:23:49.463 に答える
0

それは彼女に使用することができます。これはAPIのORMです。https://github.com/remiprev/her

使用例:

RestResource.destroy_existing(id, body_params)
于 2015-12-02T10:37:50.873 に答える
0

私もこの問題に時間を費やし、@Casperの答えが光を当てました。

重要なのは、本文の値をJSON文字列として渡すことであるように思われます。これは、私が見つけたほとんどのドキュメントには記載されていません。

httpclientを使用した別の例を次に示します

require 'json'
body = { 'items': [{ 'type': 'type1', 'item_id': 'item1' }]}
HTTPClient.new.delete('http://api.com/endpoint_path/rest_resource', body.to_json)
于 2019-02-08T14:13:21.943 に答える