Json调用rest url grails gsp page

时间:2017-05-18 12:00:39

标签: grails grails-plugin grails-2.0 grails-controller grails3

我试图找到一个示例,告诉我如何在gsp页面中呈现这样的休息网址:http://localhost:8080/api/Cars

我尝试过人们提供的每个例子。他们中没有人是完全正确的,或者不适合我。

我尝试过的一些事情是grails.converters.JSON.parse,Jsonslurper,HTTPBuilder。

有人可以一步一步地介绍如何通过此网址拨打电话:" http://localhost:8080/api/Cars"到将json渲染到gsp页面的控制器。

顺便使用grails 3。

提前致谢

3 个答案:

答案 0 :(得分:1)

String jx = "http://localhost:8080/api/category";
def jsonObject = grails.converters.JSON.parse(jx)

jx只是一个字符串。您可能需要将该字符串转换为URL,然后使用URL的getText()方法调用该URL并获取响应,这是您要解析的内容。也许是这样的事情:

def jsonObject = JSON.parse(jx.toURL().getText())

答案 1 :(得分:0)

你可以做这样的事情

def cars
def url = 'http://localhost:8080/api/Cars'

def httpClient = HttpClients.createDefault()
HttpGet httpGet = new HttpGet(url)
def response = httpClient.execute(httpGet)

cars = EntityUtils.toString(response.getEntity())
cars = new JsonSlurper().parseText(cars);

答案 2 :(得分:0)

添加REST client builder plugin

然后使用:

new RestBuilder().get( 'http://localhost:8080/api/Cars' ).json