2

現在、Web サービス用に ActiveResource を使用してクライアント アプリとサーバー アプリの両方を作成しています。クライアントには、サーバーによる変換プロセスが必要な長い文字列 (:history) があります。

ここで、クライアントは ActiveResource::Base を拡張するオブジェクトの post メソッドを呼び出します

active_resource.post(:convert, {:history => hh, :format => format})

この行は、URI が長すぎるというエラーを出しています。

ActiveResource::ClientError に失敗しました。応答コード = 414。応答メッセージ = Request-URI Too Large.

「大きな」データを送信するために他にどのようなオプションがありますか? おそらく、上記の hh 文字列の 2000 文字付近のデータを探しています。

ありがとう!

4

2 に答える 2

6

したがって、postメソッドのシグネチャは次のとおりです。

post(custom_method_name, options = {}, body = '')

だから、あなたがするとき:

active_resource.post(:convert, {:history => hh, :format => format})

投稿変数をオプションハッシュに入れます。これは、投稿のクエリ文字列に含まれます。

あなたがしたいことは:

active_resource.post(:convert, nil, {:history => hh, :format => format}.to_json)
于 2012-02-08T04:00:35.737 に答える