2011-09-11 8 views
3

Grailsにhttpbuilderプラグインをインストールして使用するにはどうすればいいですか?grailsにhttpbuilderプラグインをインストールして使用する方法

+0

"httpbuilder"という名前のプラグインはありません。しかし、[REST Client](http://www.grails.org/plugin/rest)プラグインがあります。 [documentation](http://www.grails.org/plugin/rest)にインストールまたは使用に関する不明な点がありましたか?あなたの質問はかなり広いです。 –

答えて

5

REST Client pluginあり:

  • インストール:

    grails install-plugin rest 
    
  • 例:

    withHttp(uri: "http://www.google.com") { 
        def html = get(path : '/search', query : [q:'Groovy']) 
        assert html.HEAD.size() == 1 
        assert html.BODY.size() == 1 
    } 
    
+0

投稿をして取得しないにはどうしたらいいですか? – user903772

+4

私はドキュメントを読んだことがない、あるいはこのプラグインを使ったことがありますが、無礼な推測では 'get'を' post'に置き換えることになります –

+0

2.3以降、 'install-pluginはプラグインをインストールすることができなくなりました。私はまだこれを理解しようとしていますが、本当にnode/npmが足りません:( –

28

アプリケーションの依存関係にhttpbuilder 0.5.1を追加する原因になりますER rors。私は問題がhttpbuilderは、ランタイム依存関係として、それはコンパイル時の依存関係をエクスポートしているということだと思います

java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.xerces.jaxp.SAXParserImpl.getParser()Lorg/xml/sax/Parser;" the class loader (instance of org/codehaus/groovy/grails/cli/support/GrailsRootLoader) of the current class, org/apache/xerces/jaxp/SAXParserImpl, and its superclass loader (instance of <bootloader>), have different Class objects for the type org/xml/sax/Parser used in the signature 

:具体的には、次のようなエラーに何かを得るでしょう。簡単な回避策は、あなたのBuildConfig.groovyに、このような依存関係を宣言することです:

grails.project.dependency.resolution = { 
    ... 
    dependencies { 
     runtime('org.codehaus.groovy.modules.http-builder:http-builder:0.5.1') { 
      excludes 'xalan' 
      excludes 'xml-apis' 
      excludes 'groovy' 
     } 
    } 
} 

私はあなたにもリポジトリセクションにmavenRepo "http://repository.codehaus.org"が必要だと思います。

+0

これは正しい答えになるはずです... – James

+0

あなたは私の午後を解き放つ! –

+0

Codehausが死んでいます。更新が必要 – rahulserver

0

私はataylorことによって、上記のステップを使用して終了したが、その後のブロックをコメントアウトし、プラグインをテストした:

compile ":rest:0.7" 

休憩プラグインは、http-ビルダーを使用し、上記の依存をせずに私のアプリはまだ正常に動作して呼び出しを行いhttpビルダーを介して。

関連する問題