2016-03-08 16 views
2

我試圖從升級2.1.1的Grails我的項目的Grails Grails的3.0.9 3.0.9如何用http生成器helper插件grails 3調用http()?

:我安裝這個插件這樣的..

compile 'org.grails.plugins:http-builder-helper:1.0.2' 

,我在唱這個。 。

我得到這個錯誤..

ERROR com.akiong.SmsService - No signature of method: 
com.akiong.SmsService.withHttp() is applicable for argument types: 
(java.util.LinkedHashMap, com.akiong.SmsService$_sendSms_clos ure2) values: 
[[uri:https://abc.web.id], [email protected]] 
groovy.lang.MissingMethodException: No signature of method: 
com.akiong.SmsService.withHttp() is applicable for argument types: 
(java.util.LinkedHashMap, com.akiong.SmsService$_sendSm s_closure2) values: 
[[uri:https://abc.web.id], [email protected]] 

這是我的代碼com.akiong.SmsService.groovy

withHttp(uri: uri) { 
        client.getParams().setBooleanParameter("http.protocol.expect-continue", false) 
        get(path: '/abc.php', query: [u: smsMaskingUser, p: smsMaskingPassword, d: destinationNo, m: messages]){ resp, reader -> 
         loggResponse(resp, reader, refNo) 
        } 
       } 

我該怎麼辦?

我都嘗試這樣:

compile 'org.grails.plugins:http-builder-helper:1.0.0'

compile 'org.grails.plugins:grails-http-builder-helper:1.0.0'

雙方的這個可以下載...但我得到了同樣的錯誤

+0

我不知道爲什麼有兩個插件。你嘗試過兩種嗎? * grails-http-builder-helper * http-builder-helper – Arjang

+0

@Arjang都可以下載「grails-http-builder-helper」和「http-builder-helper」......但這兩個都不行 – akiong

+0

我發現這.. http://bintray.com/grails/plugins/http-builder-helper/view#和我的項目已經下載..但不工作 – akiong

回答

0

我改變我的代碼從grails 2 - > 3,而不是在grails 3上使用http-builder-helper插件,但我的應用程序使用http-builder-helper插件的grails 2。

import groovyx.net.http.HTTPBuilder 
import static groovyx.net.http.Method.GET 
import static groovyx.net.http.ContentType.TEXT 

http.request(GET,TEXT) { req -> 
       uri.path = '/api.php' // overrides any path in the default URL 
       uri.query = [ u: yourusername, p: yourpassword, d: something, m: messages ] 
//    headers.'User-Agent' = 'Mozilla/5.0' 

       response.success = { resp, reader -> 
        assert resp.status == 200 
        loggResponse(resp, reader, refNo) 
       } 

       // called only for a 404 (not found) status code: 
       response.'404' = { resp -> 
        println 'Not found' 
       } 
      } 

希望這將幫助你

0

嘗試步驟在this issue中描述,以正確安裝:

repositories { maven { url "https://repo.grails.org/grails/repo" } } 

dependencies { compile "org.grails.plugins:grails-http-builder-helper:1.0.0" } 
+0

我已經下載..但仍然不能使用withHttp .. – akiong

+0

你試過** grails ** - http-builder-helper 1.0.0嗎? –

+0

我想你的解決方案... 編譯'org.grails.plugins:grails-http-builder-helper:1.0.0' 我仍然得到相同的錯誤... – akiong