問題タブ [httpbuilder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Groovy の HTTPBuilder を使用して JSON データを投稿する
HttpBuilder を使用して JSON データを投稿する方法に関するこのドキュメントを見つけました。私はこれに慣れていませんが、非常に単純な例であり、従うのは簡単です。必要なすべての依存関係をインポートしたと仮定して、コードを次に示します。
今私の問題は、例外が発生することです
私は何か見落としてますか?ご協力いただければ幸いです。
grails - grailsにhttpbuilderプラグインをインストールして使用する方法
Grailsにhttpbuilderプラグインをインストールして使用するにはどうすればよいですか?
groovy - Groovy HttpBuilder を使用した Google 検索のスクレイピング - 結果が html または xml として解析されないようです
Google 検索から単純な検索を要求し、結果セットを解析する単純な Groovy スクリプトを作成しています。Custom Search API があることは知っていますが、それはうまくいかないので、その方向に向けないでください。
HTTPBuilder を使用してリクエストを作成しています。他のすべてのメソッド "string".toURL()、HTMLCleaner... で呼び出しを行うと、すべて http 403 コードを取得することがわかりました。リクエストの見出しが Google に対して有効ではないためだと思います。
HTTP Builder で非 403 リクエストを作成および取得できます。つまり、「html」で println を実行すると (以下のコード スニペットを参照)、html や xml のようには見えません。それはテキストのように見えます。
応答を取得するための HTTPBuilder スニペットは次のとおりです。
結果が返ってきたので、以下のように解析してみます。最初に実際の構造を提供し、次に解析を提供します。つまり、解析された要素には何も表示されません。
実際の構造:
html->body#gsr->div#main->div->div#cnt->div#rcnt->div#center_col->div#res.med->div#search->div#ires->ol# rso->
コード:
それで、これは不可能ですか?Google は私を偽装してガベージ データを送信していますか、それとも HTTPBuilder をもう少し調整する必要がありますか? 何か案は?
groovy - httpbuilderとgroovyを使用して同じパラメータを複数回GETする方法は?
Groovy 1.8 と HttpBuilder 0.5.1 を使用して REST Web インターフェイスと通信しています。私はこれを機能させています:
これらの 2 つを 1 つに結合する必要があります。
同じ GET で同じクエリ変数 (フィルター) を 2 回組み合わせるにはどうすればよいですか?
私はこれを試しました:
しかし、それは機能しません。
よろしく、
ウィム
groovy - クロージャー パラメーターを含む HTTPBuilder get メソッドが MissingMethodException を返す
以下のコード:
なぜ例外が発生するのですか? http://groovy.codehaus.org/modules/http-builder/doc/json.htmlと同じコードを使用していますが、動作するはずです。
soap - GroovyHTTPBuilderSOAP応答が適切に解析されていません
XmlSlurperがどうやら結果に取り組んでいない理由がわかりません。
につながる
更新:John Wagenleitnerの洞察のおかげで、私はもう少し掘り下げました。
そのアサートを追加すると、次の問題が発生します。
リクエストパラメータをからPOST, XML
に変更すると、次のことPOST, TEXT
がわかります。
..。
したがって、XmlSlurperは、変数が出力されているときに、SOAPのものを破棄し、最も内側のノード()を評価しているように見えますが、実際にはそのノードに移動していません。これは予想される動作ですか?
より完全で最新のSOAP呼び出しを見つけて、httpBuilderを使用して解析することができなかったため、XMLが適切なコンテンツタイプであると想定しました。しかし、私はTEXTを受け入れて、自分で本体を解析する必要があるように見えます。httpBuilderでSOAP応答を処理するより良い方法はありますか?
session - GroovyHttpBuilderを使用して2つのリクエスト間でセッション状態を維持する方法
私は認証が必要な統合テストに取り組んでいます。セッション状態(つまりCookie)は、リクエスト間で維持されていないようです。CookieManagerなどはありますか?
json - Groovy HTTPBuilder と Jackson
要求に応じて本文を設定するときに、Groovy の HTTPBuilder で JSON-lib の代わりに Jackson を使用できますか?
例:
この例では、応答を処理するときに Jackson を使用していますが、要求は JSON-lib を使用していると思います。
groovy - 自分のメソッドで withRest() をラップして、その中でクロージャーを実行できないのはなぜですか?
Griffon 用の HTTPBuilder プラグインは優れており、サーバー呼び出しを非常に簡素化してくれます。ただし、唯一の問題は、同じセットアップ コードをあちこちで繰り返し続ける必要がないことです。
私がやりたいことは、一連のサーバー呼び出しと他のコードを同じ接続設定でラップして、1 か所だけに配置することです。
例として、これは私が持っているものです:
そして、これが私がやりたいことです:
Groovy とクロージャーについて私が知っていることから、これはクロージャーの優れた用途になるはずです。これにより、一般的な「リソースのセットアップ/破棄」コードが 1 か所に取り除かれ、サーバー呼び出しの本質に集中できるようになるからです。
問題は、動的メソッドが適切に追加されているように見えないことです。これは、必要な方法でコードを実行すると、呼び出さMissingMethodException
れたときに s がスローされるためです。stmts()
私がやろうとしていることを行うためのより良い方法があると確信していますが、それでも、私がやろうとしていることはうまくいくはずです. 私はまだGroovyにかなり慣れていませんが、スコープルールを何度も調べましたが、HTTPBuilderの動的メソッドが渡されたクロージャーを介して適切にアタッチされていないなどのことしか考えられません。
json - 「クラス」属性が JSON オブジェクトにない場合、JSON からドメイン クラスへのデータ バインディングが null プロパティに対して正しくない
別のドメイン オブジェクトへの null 許容参照を持つ既存のドメイン オブジェクトに JSON ペイロードをバインドしようとすると、インバウンド JSON が参照に対して null を示している場合、バインドは失敗します。これにより、永続化の試行が次のエラーで失敗します。
問題のドメイン オブジェクトは次のとおりです。
エラーをスローするコントローラーコードは次のとおりです。
これは、問題を引き起こす JSON ペイロードです。
しかし、この JSON ペイロードは問題なく動作します。
何が起こるかというとuploader
、セッションのプロパティが に設定されてい"server.Uploader : null"
ます。これは の後.dump()
のsessionInstance
オブジェクトsessionInstance.properties = params
です:
プロパティが JSON ペイロードにある場合はすべて正常に機能し"class": "server.Session"
ますが、JSON ペイロードがないとすべてが機能しなくなります。データバインディングはこれを処理できると思います.残りのプロパティはうまくマッピングされていますが、参照にはひどく失敗しているようです.
最後に、これに遭遇した理由は、REST API に対して Griffon クライアントを構築しようとしているからです。HTTPBuilder は、元の JSON 応答を に変換するときに を取り除いているようです"class": "server.Session"
。net.sf.json.JSONObject
応答にはプロパティが含まれていますが、ダンプには含まれてnet.sf.json.JSONObject
おらず、後続の JSON 要求ペイロードも含まれていません。
- これは、JSON オブジェクトの「クラス」プロパティがない場合の Grails のデータ バインド方法のバグですか?
- これは、HTTPBuilder が JSON 応答を解析する方法のバグですか?
- HTTPBuilder が net.sf.json.JSONObject から JSON を出力する方法のバグですか?
- 私は完全に間違ったことをしているだけですか?
アップデート
私はいくつかの追加情報を見つけました:
- 一意の制約を削除しても動作は変わりません
uploader
フィールドがnullではなく、受信 JSON オブジェクトがそれを に設定しようとしている場合null
、プロパティは変更されません (エラーは発生しません)。ただし、"class": "server.Session"
プロパティが受信 JSON ペイロードにある場合はnull
、期待どおりに変更されます。