Json вызывает URL-адрес остальных на страницу gsp grails

Я попытался найти пример, который показывает, как отображать URL-адрес для отдыха следующим образом: http://localhost:8080/api/Cars на странице gsp.

Я пробовал каждый пример, который люди предоставляют. Ни один из них не является полностью правильным или не работает для меня.

Некоторые из вещей, которые я пробовал, это grails.converters.JSON.parse, Jsonslurper, HTTPBuilder.

Может ли кто-нибудь дать мне пошаговое представление о том, как просто позвонить с этого URL-адреса: "http://localhost:8080/api/Cars" контроллеру, который отображает страницу json в gsp.

Кстати, я использую Grails 3.

заранее спасибо


person Junior    schedule 18.05.2017    source источник
comment
Вы имеете в виду, что хотите получить значение localhost:8080/api/Cars и отобразить данные на странице gsp. ? Или вы хотите отобразить данные localhost:8080/api/Cars в виде json?   -  person Christian Esperar    schedule 18.05.2017
comment
да. Спасибо за вопрос и извините за неясность. Этот шаг просто расстраивает меня. У меня есть два приложения. URL-адрес из первого приложения, и я пытаюсь вызвать этот URL-адрес из второго приложения, чтобы показать его на странице gsp.   -  person Junior    schedule 18.05.2017
comment
Пожалуйста, покажите нам текущий код, который у вас есть   -  person Christian Esperar    schedule 18.05.2017
comment
Я добавил код здесь. Если хотите, я могу показать и другие примеры. Это единственный, кто дает что-то, другие дают ошибку. jsfiddle.net/4nk203Le   -  person Junior    schedule 18.05.2017


Ответы (3)


Вы можете сделать что-то вроде этого

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);
person Christian Esperar    schedule 19.05.2017

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())
person railsdog    schedule 18.05.2017

Добавьте плагин конструктора клиента REST

Затем используйте как:

new RestBuilder().get( 'http://localhost:8080/api/Cars' ).json
person Mike W    schedule 19.05.2017