2017-03-31 4 views
0

HTTPBuilderのURLからJSONを取得しようとしましたが、このコードは例外を返して、このerroを返します。 "メソッドは 'groovy.lang.MissingPropertyException'例外をスローしました。Test API Grails

static request(String path, boolean isGet){ 
    def myClient = new HTTPBuilder("${HOST}${path}") 
    def jsonResp = [:] 

    try{ 
     if(isGet){ 
      log.info "[EXAMPLE GET] ${HOST}${path}" 
      myClient.get(requestContentType: ContentType.JSON){ resp, json -> 
       jsonResp = resp 
      } 
     } 
    }catch(Exception e){ 
     println "erro: " 
     log.info "[EXAMPLE ERROR]: ${e.message}" 
     println(e.message) 
    } 
    jsonResp 
} 

答えて

0

MissingPropertyExceptionは何ですか?

私はあなたのスクリプトを(いくつかの改造を加えて)スクリプトで試しましたが、今度はrespではなくjsonを返します。これはうまくいくようです。

import groovy.transform.Field 
import groovyx.net.http.ContentType 
import groovyx.net.http.HTTPBuilder 

@Field final String HOST = 'http://echo.jsontest.com' 

def resp = request("/name/jon", true) 
println resp.toString() 


def request(String path, boolean isGet){ 

    def myClient = new HTTPBuilder("${HOST}${path}") 
    def jsonResp = [:] 

    try{ 
     if(isGet){ 
      println "[EXAMPLE GET] ${HOST}${path}" 
      myClient.get(requestContentType: ContentType.JSON){ resp, json -> 
      jsonResp = json 
     } 
    } 
} 
catch(Exception e) { 
     println(e.message) 
    } 
    jsonResp 

}

出力は:

{"name":"jon"} 
関連する問題