概要
前回 curl を使ってクエリストリング中に配列を入れてサーバに送信しました
今回は ruby の RestClient を使って配列を送信してみました
環境
- maxOS 10.13.2
- Ruby 2.4.1p111
- RestClient 1.8.0
curl
以下の curl でのリクエストを RestClient からもやってみたいと思います
リクエスト
curl 'localhost:4567/?Hoge[]=hoge1&Hoge[]=hoge2' --globoff
レスポンス
hoge1 hoge2
RestClient
RestClient でやる場合はこんな感じです
- vim app.rb
require 'rest-client'
query = '/?Hoge[]=hoge1&Hoge[]=hoge2'
ret = RestClient.get "localhost:4567#{query}"
puts ret
これで curl と同じ結果を取得することができます
文字列でクエリストリングを作成して、それをそのまま URI 中に含めているだけです
文字列として扱うので若干面倒なケースもありますがシンプルな方法かなとは思います
params:
を使って送信することもできるのですがハッシュで宣言する必要がありキーが重複してしまうため 1 つしか値を送信することができません
p = {
:params => {
'Hoge[]' => 'hoge1',
'Hoge[]' => 'hoge2',
}
}
ret = RestClient.get 'localhost:4567', p
これだと hoge2 だけしか送信してくれません
最後に
RestClient で配列を送信する方法を紹介しました
POST や PUT であればリクエストボディを設定できるのでそっちで配列なりを送信してあげれば OK です
今回は GET + クエリストリングの場合に配列を送信する方法を紹介しました
0 件のコメント:
コメントを投稿