如何正确使用groovyx.net.http.RESTClient中的get方法

时间:2015-06-04 20:53:12

标签: authentication grails plugins basic-authentication rest-client

我正在尝试通过RESTClient中的get方法获取JSON文件。

现在我正在尝试

def url = 'http://urlurlurl'
def username = 'username'
def password = 'password'
def restClient = new RESTClient(url)
restClient.auth.basic(username, password)

render restClient

当我看到从restClient获得的内容时,只是打印

'groovyx.net.http.RESTClient@65333e2e'

这很难理解。

鉴于url是API get方法的端点,并且包含JSON文件,如何检索JSON文件以便我可以解析它并使用该JSON文件?

我也在尝试这个

def url = 'http://urlurlurl'
def username = 'username'
def password = 'password'
def restClient = new RESTClient(url)
restClient.auth.basic(username, password)

//Adding get method
def jsonData = restClient.get(/* what value should I put in here?? */)

这给了我一个forbbiden错误,上面写着:

Error 500: Internal Server Error
URI: JsonRender
Class: groovyx.net.http.HttpResponseException
Message: Forbidden

有什么建议吗?在RESTClient中使用get方法的示例会很好。

1 个答案:

答案 0 :(得分:3)

网址应该是api的基本网址。例如,如果我们想从api中搜索一些完整URL为http://localhost:9200/user/app/_search的数据。因此,我们将基本网址设为http://localhost:9200/,api的路径为user/app/_search。现在请求看起来像这样

def client = new RESTClient( 'http://localhost:9200/' )
def resp = client.get( path : 'user/app/_search')
log.debug (resp.getContentAsString())

希望这会成功。

谢谢,